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 :

écriture dans un fichier texte


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Par défaut écriture dans un fichier texte
    Bonjour,

    j'ai un problème quant à l'écriture dans un fichier texte grâce à Python.
    J'ai essayé d'exécuter le code suivant qui permet d'obtenir le triangle de Pascal :
    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
    def triang(p):
        sortie=open('/Users/Lea/Documents/INFO/TD8.txt','w')
        L=[1]
        sortie.write('1\n')
        for n in range(1,p+1):
            Ln=[1]
            sortie.write('1 ')
            for k in range(1,n):
                e=L[k-1]+L[k]
                Ln.append(e)
                sortie.write(str(e)+' ')
            Ln.append(1)
            sortie.write('1\n')
            L=Ln
        sortie.close()
    Python l'execute sans message d'erreur, mais lorsque j'ouvre mon fichier texte, celui-ci est toujours vide !
    Je ne pense pas que le problème vienne du code, puisque je l'avais déjà testé en classe où il fonctionnait parfaitement.
    Est-ce que ce code fonctionne pour vous ?
    Avez-vous une idée du problème ? Est-ce du à mon ordinateur ?

    Merci d'avance

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Le fichier s'écrit correctement.
    Par contre:
    mais lorsque j'ouvre mon fichier texte, celui-ci est toujours vide !
    comment ouvrez vous ce fichier?
    Cela vous ne le montrez pas.

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

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Par défaut
    Bonjour,

    ou bien je lis les lignes de mon fichier texte depuis Python puis j'affiche la liste L :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    source=open('/Users/Lea/Documents/INFO/TD8.txt','r')
    L=source.readlines()
    source.close()
    ou bien je l'ouvre tout simplement avec un éditeur de texte depuis mes fichiers. Le résultat est le même.
    Comment dois-je l'ouvrir pour que cela fonctionne ?

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    bizarre votre truc: lorsqu'on demande à Python de faire quelque chose, il le fait ou il râle fort.
    Lancez la console Python pour y taper:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> s = '/Users/Lea/Documents/INFO/TD8.txt'
    >>> f = open(s, 'w')
    >>> f.write('1\n2\n')
    >>> f.close()
    >>> f = open(s, 'r')
    >>> f.read()
    '1\n2\n'
    >>>
    Postez le résultat.

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

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Par défaut
    Bonjour,
    cette fois cela fonctionne, j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> s = '/Users/Lea/Documents/INFO/TD8.txt'
    >>> f = open(s, 'w')
    >>> f.write('1\n2\n')
    4
    >>> f.close()
    >>> f = open(s, 'r')
     
    >>> f.read()
    '1\n2\n'
    et lorsque j'ouvre mon fichier depuis l'éditeur de texte j'y lis bien un 1 et un 2 écrit à la ligne.
    Je me demande juste pourquoi il me renvoie un 4 après la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> f.write('1\n2\n')
    4

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Par défaut
    Et mon autre code fonctionne également cette fois ! Etrange, je ne sais pas bien ce qui a pu se passer hier...
    Merci dans tous les cas

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par info-python Voir le message
    et lorsque j'ouvre mon fichier depuis l'éditeur de texte j'y lis bien un 1 et un 2 écrit à la ligne.
    Je me demande juste pourquoi il me renvoie un 4 après la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> f.write('1\n2\n')
    4
    Prenez l'habitude de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>> help(f.write)
    Help on built-in function write:
     
    write(...)
        Write the given buffer to the IO stream.
     
        Returns the number of bytes written, which is never less than
        len(b).
     
        Raises BlockingIOError if the buffer is full and the
        underlying raw stream cannot accept more data at the moment.
     
    >>>
    Et en plus cela vous permet d'entretenir, améliorer votre anglais technique.

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

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

Discussions similaires

  1. Bug d'écriture dans un fichier texte.
    Par Gouhouf dans le forum C
    Réponses: 4
    Dernier message: 11/07/2007, 11h30
  2. [Système] Écriture dans un fichier texte
    Par sparil dans le forum Langage
    Réponses: 7
    Dernier message: 21/06/2007, 00h02
  3. lecture/écriture dans un fichier texte
    Par the watcher dans le forum Delphi
    Réponses: 23
    Dernier message: 15/05/2007, 10h57
  4. Réponses: 4
    Dernier message: 02/05/2007, 10h41
  5. Erreur E/S 32 lors de l'écriture dans un fichier text.
    Par yosthegost dans le forum Delphi
    Réponses: 6
    Dernier message: 01/06/2006, 11h45

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