Partage
  • Partager sur Facebook
  • Partager sur Twitter

python, lecture d'un fichier

read ne renvoit rien

Sujet résolu
    19 mars 2006 à 13:25:13

    Salut !

    voila mon code en python :

    file = open('/home/theo7/Perso/Programmes/Python/hello-world/doc.txt', 'r+')
    file.write('hello world')
    file.read()
    file.close()


    Cormalement sa doit me renvoyer 'hello world', mais sa ne me renvoie rien ...

    Pourquoi ?

    ha ... et aussi, comment dire le chmod du fichier quand on le crée ?

    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      19 mars 2006 à 13:39:02

      salut,

      ton code fonctionne normallement.

      tu demande de créer une variable faille depuis le fichier
      tu demande d'écrire hello world
      tu demande que la variable contienne le contenu
      tu ferme le fichier

      essais un print file maintenant :)

      Pour le chmod tu as une fonction dans le module OS ^^

      voilà, j'espere t'avoir aidé ...
      amicallement, sloshy
      • Partager sur Facebook
      • Partager sur Twitter
        19 mars 2006 à 14:02:17

        Il faudrait que je fasse :

        file = open('/home/theo7/Perso/Programmes/Python/hello-world/doc.txt', 'a+')
        file.write('\nhello world\n')
        file.write('\nhello world\n')
        file.read()
        file.close()
        print file


        Ce code ne me renvoie pas le contenue du fichier mais :

        Citation : python

        <closed file '/home/theo7/Perso/Programmes/Python/hello-world/doc.txt', mode 'a+' at 0x2aaaaab447b0>



        Merci :D
        • Partager sur Facebook
        • Partager sur Twitter
          19 mars 2006 à 16:28:55

          Et bien le read après le write lis ce qui se trouve après ce que tu as écris, donc rien, je dirais.

          De plus, pourquoi ne pas faire "print (file.read())" plutot ?
          • Partager sur Facebook
          • Partager sur Twitter
            19 mars 2006 à 16:51:45

            Citation : bluestorm

            De plus, pourquoi ne pas faire "print (file.read())" plutot ?



            pourquoi ?

            car sa renvoie rien :p

            file = open('/home/theo7/Perso/Programmes/Python/hello-world/doc.txt', 'a+')
            file.write('\nhello world\n')
            file.write('\nhello world\n')
            print (file.read())
            file.close()
            • Partager sur Facebook
            • Partager sur Twitter
              19 mars 2006 à 17:15:40

              Oui, c'est ce que je disais au dessus.

              Ya pas une méthode file.rewind ?

              Bon, j'ai lancé un shell python, en deux minutes avec l'introspection j'ai pigé comment faire :
              après avoir écrit, pour pouvoir lire le fichier il faut revenir au début : file.seek(0).

              file = open("~/tmp/test.txt", "a+")
              file.write("salut !\ncomment ca va ?\n")
              file.seek(0)
              for line in file.readlines() :
                   print ">",line
              • Partager sur Facebook
              • Partager sur Twitter
                19 mars 2006 à 20:17:31

                voila sa marche . Merci :)
                • Partager sur Facebook
                • Partager sur Twitter

                python, lecture d'un fichier

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown