IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Ecrasement de variable Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    63
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 63
    Par défaut Ecrasement de variable Python
    Bonjour,

    Je débute en Python et souhaiterais faire un programme pour gérer mes comptes sur le base de fichiers textes.
    J'ai donc une procédure "Ajout" qui fait appel à une fonction creaid, pour créer un identifiant unique de l'entrée à ajouter au fichier texte, puis une fonction qui convertit en string les informations à entrer.
    Le problème, c'est que la variable qui sert à balayer la liste des éléments à entrer dans le fichier prend la valeur de l'identifiant unique, et je ne comprends pas pourquoi.
    Auriez-vous une idée ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    def Ajout(a_table, a_entree):
    	# si jamais on agit sur la table Opération, alors il faut créer un identifiant unique.
    	print('--------')
    	print(a_entree)
    	if a_table == "Opérations" :
    		idOpe = CreaId(a_table)
    		a_entree.insert(0,idOpe)
    	print(a_entree)
    	fichier=open('/home/Z20500/Bureau/Finances_Python/données/' + a_table + '.csv','a')
    	fichier.write('\n' + ConvStr(a_entree))
    	fichier.close()
     
    def CreaId(a_table) :
    	# pour créer un identifiant unique. L'id est stocké dans un fichier d'extension .num et du nom de la table
    	if os.path.exists('/home/Z20500/Bureau/Finances_Python/données/' + a_table + '.num') == True :
    		fichier=open('/home/Z20500/Bureau/Finances_Python/données/' + a_table + '.num','r')
    		idOpe=int(fichier.readline())
    		fichier.close()
    	else :
    		idOpe = 0
    	idOpe=idOpe+1
    	fichier = open('/home/yZ20500/Bureau/Finances_Python/données/' + a_table + '.num','w')
    	fichier.write(str(idOpe))
    	fichier.close()
    	return idOpe	
     
    def ConvStr(a_entree) :
    	Z=0
    	for Z in a_entree :
    		print('>>>>>>>>>>>>>>>>')
    		print(a_entree)
    		print(Z)
    		a_entree[Z]=str(a_entree[Z])	
    	return ';'.join(a_entree)
    En vous remerciant, bonne journée,

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    63
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 63
    Par défaut
    oups, il aurait fallu que j'aie une syntaxe du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in range(len(a_entree))
    dans la fonction Convstr.

    Mille excuses pour le dérangement.
    Bonne journée

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Z20500 Voir le message
    Mille excuses pour le dérangement.
    Pas grave, ça nous donne l'occasion de voir ton code. Il est pas mal. On sent le potentiel (ne te manque que les connaissances de syntaxe Python qui te permettraient de simplifier certaines syntaxes) et ça viendra avec le temps.

    Essaye de séparer "travail" et "affichage des informations". Cela te sera utile dans l'avenir, si par exemple tu veux changer la destination des informations (exemple dans un mail) tu ne toucheras qu'aux éléments qui l'affichent et pas au travail qui est fait derrière. C'est une méthode de programmation dénommée "MVC" qui sépare un programme en 3 grands domaines (le Modèle=la donnée, la Vue=la saisie des données et la visualisation du résultat et le Controleur=le calcul) ce qui permet de faire facilement évoluer un domaine si nécessaire.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Variable python en web
    Par chris3 dans le forum Réseau/Web
    Réponses: 0
    Dernier message: 24/11/2009, 13h42
  2. Réponses: 3
    Dernier message: 31/05/2007, 01h52
  3. Réponses: 3
    Dernier message: 26/06/2006, 13h48
  4. Passer une variable python en javascript?
    Par Sayrus dans le forum Zope
    Réponses: 6
    Dernier message: 19/06/2006, 10h29
  5. Construire un formulaire qui ecrase les variables hidden
    Par Battosaiii dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 14/04/2006, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo