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 :

Enregistrement et création de fichiers textes


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Enregistrement et création de fichiers textes
    Bonjour à tous,
    Je suis un membre très actif pour lire les aides des programmeurs confirmés ici et je les remercie encore .
    Mais aujourd'hui j'ai réellement besoin de votre aide.
    Je suis un débutant qui a le désir d'apprendre.

    Je réalise un programme où l'utilisateur rentre son profil (Un fichier "saisir-profil" vient chercher la classe "profil"). Le profil est enregistré sur une seule ligne. Or j'ai deux petits soucis, je ne vois pas pourquoi mon fichier .txt ne s'enregistre pas alors que le code me semble bon.
    Dans un second temps une de mes variables pose problème (self.genrepart)
    Si quelqu'un peut me répondre en m'expliquant je serais vraiment reconnaissant de votre aide.
    Je vous souhaite une bonne année.
    Merci à tous vraiment

    Ps : Je vous joint le fichier .zip avec les deux programmes qui fonctionnent ensemble. (le codes est un peu long et je ne peux le séparer) Merci!
    Toutes critiques seront forcement une voie d'amélioration!
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Si vous voulez qu'on vous aide, çà serait bien de nous faciliter la vie et de poster le message d'erreur retourné par Python lors de l'exécution de vos scripts.
    De plus, plutôt que de poster tout votre programme dans un fichier .zip, çà serait bien d'essayer de reproduire l'erreur rencontrée en essayant de reproduire l'erreur (i.e. ce qui fait planter le code) en quelques lignes. Cela vous permettrait de poser une question plus spécifique, genre:
    Quand vous voyez çà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "saisir_profil.py", line 53, in <module>
        p.Creationfichier()
      File "F:\...\profil.py", line 53, in Creationfichier
        fichier.write(self.Numero)
    TypeError: expected a character buffer object
    Ce qui fait planter le code est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> number = 123
    >>> f = open('toto.txt', 'w')
    >>> f.write(number)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: expected a character buffer object
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Quelques remarques.

    .1 Définir l'encodage du fichier python. Il faut le faire dans une des deux premières lignes de chaque script.
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    # -*- coding: utf-8 -*-
    .2 Ce code à déjà été posté ici, et je me souviens avoir déjà fais cette remarque, ceci:
    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
     
    	def importsigne(self):
    		Q=str(eg.buttonbox(["Quel est votre signe astrologique ?"], 
                                choices=["belier","taureau","gemeau","cancer",
                                "lion","vierge","balance","scorpion","sagittaire",
                                "capricorne","verseau","poisson"]))	
    		if Q == "belier":
    			Q =0
    		if Q == "taureau":
    			Q =1
    		if Q == "gemeau":
    			Q =2
    		if Q == "cancer":
    			Q =3
    		if Q == "lion":
    			Q =4
    		if Q == "vierge":
    			Q =5
    		if Q == "balance":
    			Q =6
    		if Q == "scorpion":
    			Q =7
    		if Q == "sagittaire":
    			Q =8
    		if Q == "capricorne":
    			Q =9
    		if Q == "verseau":
    			Q =10
    		if Q == "poisson":
    			Q =11
     		self.signe=Q
    		self.signe=str(self.signe)
    doit absolument être simplifié comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	def importsigne(self):
                choices = ("belier", "taureau", "gemeau", "cancer","lion",
                      "lion", "vierge", "balance", "scorpion", "sagittaire",
                      "capricorne", "verseau", "poisson")
                Q = str(eg.buttonbox(["Quel est votre signe astrologique ?"], 
                                choices=choices)
                self.signe = str(choices.index(Q))
    Dans l'absolu, la liste des signes devrait être une constante définie pour l'ensemble du programme car je suppose qu'il faudra aussi afficher ce profil dans une étape future de ton programme.
    Cette remarque est à appliquer aux méthodes importtaille, importccheveux, importcyeux, importtaillepart, importccheveuxpart et importcyeuxpart

    .3 Et cette horreur:
    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
     
    	def importQ1(self):
    		Q=(eg.buttonbox(["A quelle frequence pratiquez-vous le sport ?"], 
                            choices=["0","1","2","3","4","5","6","7","8","9"]))
    		if Q == "0":
    			Q= 0
    		if Q == "1":
    			Q= 1
    		if Q == "2":
    			Q= 2
    		if Q == "3":
    			Q= 3
    		if  Q== "4":
    			Q= 4
    		if Q == "5":
    			Q= 5
    		if Q == "6":
    			Q= 6
    		if Q == "7":
    			Q= 7
    		if Q == "8":
    			Q= 8
    		if Q== "9":
    			Q= 9
    		self.Q1=Q
    		self.Q1=str(self.Q1)
    Donc, si on lit bien, si Q = "4" alors Q = 4 puis self.Q1 = Q et enfin self.Q1 est convertit en string. Et vous êtes deux à avoir planché sur ce code ?

    Grmmmbl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	def importQ1(self):
                choices = [n for n in '0123456789']
                self.Q1 = eg.buttonbox(["A quelle fréquence pratiquez-vous le sport ?"], 
                                    choices=choices)
    Et pourquoi diable cette question est-elle répétée dix fois ? Admettons que tu aies une raison, il ne faut pas réécrire cette fonction dix fois, crée une liste de réponse et rempli la liste dans une boucle qui appelle cette fonction.

    Simplifie déjà tout ça et pour ton fichier à écrire, tu as une réponse de wiztricks.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Citation Envoyé par VinsS Voir le message
    .2 Ce code à déjà été posté ici, et je me souviens avoir déjà fais cette remarque, ceci:
    Il va falloir trouver l'enseignant qui propose à ses élèves l'utilisation de "classes" avant de leur avoir appris à maîtriser dictionnaires et types de base ainsi que la structuration d'un code en fonctions pour éviter les répétitions

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Merci
    Merci pour vos réponses. Effectivement, nous avions déjà corrigé les questions, mais ce n'était pas intégré à ce code.
    Pardon de ne pas être bon mais nous essayons de faire au mieux .
    J'ai trouvé ce que je cherchai.
    Je pense plutôt continuer à lire les conversations plutôt qu'écrire, sa ne me réussi pas.
    Passez une bonne journée
    Bon courage à tous

  6. #6
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Citation Envoyé par Miirage25191 Voir le message
    Effectivement, nous avions déjà corrigé les questions, mais ce n'était pas intégré à ce code.
    Bref, tu postes du code obsolète et laisse des gens bien intentionnés se prendre la tête à t'aider ?
    "La simplicité ne précède pas la complexité, elle la suit." - Alan J. Perlis
    DVP ? Pensez aux cours et tutos, ainsi qu'à la FAQ !

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/04/2016, 00h52
  2. Enregistrement Acces vers un Fichier text.
    Par Arthur440 dans le forum VB.NET
    Réponses: 7
    Dernier message: 15/12/2011, 15h42
  3. Création de fichier texte et formatage des sorties
    Par pressdell dans le forum Débutez
    Réponses: 3
    Dernier message: 01/12/2011, 15h37
  4. création de fichier text sous android
    Par Jaafar_scorpion dans le forum Android
    Réponses: 0
    Dernier message: 07/03/2011, 14h03
  5. Procedure Stocker de création de fichier texte
    Par sheura dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 27/02/2007, 16h54

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