Partage
  • Partager sur Facebook
  • Partager sur Twitter

Copier un fichier texte.

Sujet résolu
    7 septembre 2010 à 4:04:06

    Salut à tous.
    Comme le dit le titre mon but est de crée un code qui copie les caractères d'un fichier
    dans un autre fichier.

    Je me doute bien qu'il dois y avoir des fonctions qui permettent de faire ça en même pas trois lignes, mais ce n'est pas le but de mon exercice...

    Donc pour commencer voila le code:

    def Transfer(source, destination):
        FS= open(source, 'r')
        FD= open(destination, 'w')
    
        while (1):
            txt = fs.readline()
            if (txt == ''):
                break
            FD.write(txt)
        FS.close()
        FD.close()
        
    
    
    Fichier = open('FICHIER_TEST', 'w')
    Fichier2 = open('fichier_test')
    
    texte = input()
    Fichier.write(texte)
    
    Transfer(Fichier, Fichier2)
    


    Maintenant voici l'erreure :

    Traceback (most recent call last):
      File "C:\Python31\test", line 21, in <module>
        Transfer(Fichier, Fichier2)
      File "C:\Python31\test", line 2, in Transfer
        FS= open(source, 'r')
    TypeError: invalid file: <_io.TextIOWrapper name='FICHIER_TEST' encoding='cp1252'>


    Franchement si vous avez une réponse ce serait cool parce que là j'ai rien qui me vient à l'esprit.
    • Partager sur Facebook
    • Partager sur Twitter
      7 septembre 2010 à 5:57:34

      Tu ouvres deux fois les fichiers, une fois dans la fonction, et une fois en dehors.
      • Partager sur Facebook
      • Partager sur Twitter

      Blond, bouclé, toujours le sourire aux lèvres...

        7 septembre 2010 à 22:24:23

        A ok merci.

        Mais alors, comment je fait pour, par exemple, d'abord écrire dans le fichier, puis ensuite, changer cette configuration pour le lire ?

        Transformer ça:
        Fichier = open('FICHIER_TEST', 'w')
        


        En ça:
        Fichier = open('FICHIER_TEST', 'r')
        
        • Partager sur Facebook
        • Partager sur Twitter
          7 septembre 2010 à 22:25:50

          Bonjour,

          Ouvres-le en 'r+' si c'est possible.
          • Partager sur Facebook
          • Partager sur Twitter
            8 septembre 2010 à 0:57:14

            Ah oui en mettant r+ ça marche.

            Merci du coup de main! ;)

            def Transfer(S,D):
             
            
                while (1):
                    txt = S.readline()
                    if (txt == ''):
                        break
                    D.write(txt)
            
                S.close()
                D.close()
                
            
            Fichier2 = open('fichier_test', 'w')
            Fichier = open('FICHIER_TEST', 'r+')
            
            texte = input()
            Fichier.write(texte)
            
            Transfer(Fichier, Fichier2)
            





            • Partager sur Facebook
            • Partager sur Twitter

            Copier un fichier texte.

            × 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