Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ecrire et lire un fichier.

Sujet résolu
    29 août 2010 à 5:35:42

    Salut.
    En ce moment je suis en train d'apprendre à manipuler des fichier via des codes python.

    Mon premier exercice sur le sujet me pose déja problème:
    Je dois crée un fichier et pouvoir écrire dedans puis le lire.

    En faite, je n'arrive à lire ce que j'ai écrit qu'après avoir lancé le programme une deuxième fois...
    La lecture est en décalée.

    Essayez vous comprendrez...

    def Ecrire ():
        
        
        ObjetFichier = open('NomFichier', 'a')
        while (1):
            X = input()
    
            if (X == ''):
                break
            else:
                ObjetFichier.write(X)
        go()
      
    
    def Lire ():
    
      ObjetFichier = open('NomFichier', 'r')
      
      while (1):
         X = ObjetFichier.readline()
         if (X ==''):
             break
         
    
         print(X)
      
    
      
    
    def go():
    
     Choix = input("Voulez-vous lire ou écrire dans le fichier? (Ecrivez l'action voulu)")
    
     if (Choix ==  "lire"):
        Lire()
     if (Choix == "écrire"):
        Ecrire()
    
    
    NomFichier = input("Veuillez entrez le nom du futur fichier:")
    go()
    
    • Partager sur Facebook
    • Partager sur Twitter
      29 août 2010 à 6:13:19

      Ferme ton fichier après avoir écrit, là tu l'ouvres alors qu'il est déjà ouvert.
      Normalement ça devrait régler le décalage dont tu parles.
      Edit : Et c'est :
      ObjetFichier = open(NomFichier, 'a')
      ObjetFichier = open(NomFichier, 'r')
      

      sinon tu vas créer un fichier qui s'appelle NomFichier.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        29 août 2010 à 9:44:55

        Il y a pas mal d'erreurs

        ObjetFichier = open('NomFichier', 'a')
        


        Ton fichier créé s'appelera NomFichier, ce qui n'est pas ce que tu souhaites je pense.

        Dans la fonction ecire, tu oublies de fermer ton fichier

        def Ecrire ():
            
            
            ObjetFichier = open('NomFichier', 'a')
            while (1):
                X = input()
        
                if (X == ''):
                    break
                else:
                    ObjetFichier.write(X)
            ObjetFichier.close()
            go()
        


        Ensuite mais c'est pas très important, il faut le savoir que le choix de traitement est lire ou écrire (en plus avec un accent).

        def go():
        
            print("""1-Ecrire
        2-Lire""")
        
            choix=input("Entrer votre choix :")
        
            if choix=="1":
                Ecrire()
            elif choix=="2":
                Lire()
        


        • Partager sur Facebook
        • Partager sur Twitter
          29 août 2010 à 16:33:32

          Un with t'aurais permis de ne pas faire cette erreur bête, oublier de fermer le fichier la syntaxe est la suivante:

          >>> with open(FileName, 'w') as myFile:
          ...     myFile.write('foo')
          


          Cette syntaxe permet d'ouvrir le fichier d'effectuer toutes les actions qui sont indentés et elle ferme le fichier seule, donc aucun oublie possible ! (si ce n'est l'indentation ;))
          • Partager sur Facebook
          • Partager sur Twitter
            30 août 2010 à 10:39:25

            Citation : Plug'n'Play 512

            Un with t'aurais permis de ne pas faire cette erreur bête, oublier de fermer le fichier la syntaxe est la suivante:

            >>> with open(FileName, 'w') as myFile:
            ...     myFile.write('foo')
            



            Cette syntaxe permet d'ouvrir le fichier d'effectuer toutes les actions qui sont indentés et elle ferme le fichier seule, donc aucun oublie possible ! (si ce n'est l'indentation ;))



            Bonjour a tous .

            Merci pour cette petite info PnP512 , je débute dans ce domaine et ca me sera bien utile ;) ++
            • Partager sur Facebook
            • Partager sur Twitter

            Ecrire et lire 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