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 :

créer un fichier avec open et read


Sujet :

Python

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 208
    Points : 60
    Points
    60
    Par défaut créer un fichier avec open et read
    Bonjour,

    je ne comprend pas pourquoi ces deux fonction n'arrive pas à créer un fichier ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    mots = 'pendu xerox clepsydre naims mississippi wagon épuiser lutèce MAJ'.split()
     
    def put_list(mots) :
    	flux = open('mott', 'w')                                                
    	flux.write('\n'.join(mots))                                              
    	flux.close()
     
    def go_get_list() :
    	flux = open('mott', 'r')
    	get = flux.read().split()
    	flux.close()
    	return get
    je trouves pas le fichier mott sur mon ordi ?!!!

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Ta fonction put_list devrait avoir créé le fichier mais peut-être pas à l'endroit que tu croyais.

    Pour savoir à quel endroit Python l'a mis, je suggère cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import os
     
    def put_list(mots) :
        fichier = os.path.abspath('mott') # ajout du chemin complet
        print fichier # pour Python 3: ajouter les parenthèses
        flux = open(fichier, 'w')                                                
        flux.write('\n'.join(mots))                                              
        flux.close()
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  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,

    Avec le print suggéré par tyrtamos tu sauras aussi si ta fonction est appelée, parce que ton problème est peut-être là.

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 208
    Points : 60
    Points
    60
    Par défaut
    enfaîte merci la solution c'est que faut que je tape après put_list(mots) et le fichier se crée

    par contre j'ai un petit souci quand par exemple c'est un caractère accentué quand ma fonction le lis il me renvois une error

    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
    mots = 'pendu xerox clepsydre naims mississippi wagon épuiser lutèce MAJ'.split()
     
    from random import choice 
    mot = choice(go_get_list())
    mot = mot.decode('utf-8')
     
    def enregistrer(mot) :
    	flux = open('mottt', 'w')                                                
    	flux.write(mot)                                              
    	flux.close()
     
    def go_enregistrer() :
    	flux = open('mottt', 'r')
    	get = flux.read()
    	flux.close()
    	return get
     
    enregistrer(mot)
    quand c'est par exemple choice choisie le mot épuiser il me renvoie sa comme erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "./codedecours.py", line 32, in <module>
        enregistrer(mot)
      File "./codedecours.py", line 23, in enregistrer
        flux.write(mot)                                              
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8' in position 3: ordinal not in range(128)

  5. #5
    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
    Faut préciser l'encodage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	flux.write(mot.decode('utf-8', 'replace'))

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

Discussions similaires

  1. créer un fichier avec comme nom la date du jour
    Par cedric00 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 23/03/2009, 22h07
  2. Réponses: 5
    Dernier message: 26/10/2007, 23h45
  3. Batch, créer un fichier avec l'heure actuelle
    Par crosse9 dans le forum Windows
    Réponses: 1
    Dernier message: 19/12/2006, 09h40
  4. [php] Créer un fichier avec fopen
    Par fadeninev dans le forum Langage
    Réponses: 2
    Dernier message: 13/06/2006, 16h50
  5. Problème d'E.S. sur fichier avec open
    Par Bubonik software dans le forum C
    Réponses: 6
    Dernier message: 04/02/2004, 19h42

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