Python duppliquer texte help.

Résolu
Bonjour, j'essaye depuis un moment de dupliquer un texte en python mais je n'y arrive pas impossible de trouver la commande.

mon bute crée un parfait copier coller du document

exemple : Bonjour.txt grâce a cette commande avoir Bonjour(1).txt + l'originale

import tkinter
from tkinter.filedialog import askopenfilename

def ZRCBL():
    mon_fichier = askopenfilename(initialdir=r"C:\Desktop", title="Ouvrir",
                                           filetypes=(("Text Files", "*.txt"),
                                                      ("Python Files", "*.py"),
                                                      ("all files", "*.*")))

fi = open(mon_fichier, 'r')
fo = open("copie.txt" 'w')      

 fo.write(lignes)

  fi.close()
   fo.close()



j'ai essayer de crée ce ci mais cela ne fonctionne pas.

4 réponses

  1. Ce qui marche dans ton code, c'est uniquement ceci:

    file = open(mon_fichier, "r")
    lignes = file.readlines()
    file = open("copie.txt", "w")
    file.writelines(lignes)
    file.close()


    tout ce qui est avant ne fonctionne pas et est donc inutile ...

    Pour ce qui est de corriger les fautes, c'est normal d'aider un peu, non ? :-)
    1. bonjour,

      pour le but, je corrigeais simplement ta faute d'orthographe (tu avis écris bute) :-)

      Pour la lecture dans un fichier, tu n'y est pas du tout

      fo.write()
      permet d'écrire, donc pour lire on fait comment ?

      for lignes in fi:
      ça ne fonctionne pas car si tu sais vraiment ce que tu fais

      quand on écrit
      fi = open(),
      fi est un objet fichier, ensuite il faut lui

      appliquer la bonne méthode pour lire le contenu, mais ça, on le trouve dans n'importe quelle

      doc sur internet .........
      1. Bonjour,
        merci toujours d'avance pour votre réponse toujours aussi rapide mais j'ai reussir a trouver j'ai utiliser cette méthode

        fi = open(mon_fichier, 'r')
        fo = open("copie.txt", 'w')
        
        for lignes in fi:
            if ('\n' in lignes): lignes = lignes.replace("\n", ";\n")
        
        fo.write(lignes)
        
        fi.close()
        fo.close()
        
        file = open(mon_fichier, "r")
        lignes = file.readlines()
        file = open("copie.txt", "w")
        file.writelines(lignes)
        file.close()


        merci d'éviter de corriger mes fautes j'en suis conscient que j'en fait mais cela crée des confusions.
    2. Bonjour misteriou,

      C'est pas mon bute, c'est mon but

      Ceci dit, tu avais bien commencé, tu ouvres un fichier en lecture, tu en ouvres un autre en

      écriture, et ensuite tu fait ceci (ceci en 1 seul mot :-) ) :

      fo.write(lignes)
      tu écris dans le 2eme fichier le contenu de la

      variable lignes

      Mais le contenu de lignes, tu le lis où ???

      A part ça, il y a un problème d'indentations, et ta fonction ZRCBL, tu l'appelles quand ?
      1. Bonjour ? c'était ton but commment ça ? oula ?
        Je pense pas que c'est ton objectif mais bon ne confond pas mon but et "mon/ton programme" ^^
        Surtout que maintenant entre "guillemet" cela m'appartient car tout se qui est poster sur internet surtout sur un forum appartient a tout le monde malheureusement.

        BREF !

        Je me suis rendu compte pour le fo.write

        j'ai essayer de faire lire le texte et le recopier mais cela fonctionne pas.

        J'ai rajouter :

        for lignes in fi:
            if ('\n' in lignes): lignes = lignes.replace("\n", ";\n")


        mais cela na pas fonctionné j'ai bien eux un nouveau document vide a l'exception près il y avait la dernière ligne avec le ; que je ne veut pas forcément.
    3. Modérateur
      Bonjour,

      Merci de nous le faire savoir. As-tu une question ?
      Rappel : "Bonjour" est le plus souvent pré-écrit... Un "SVP", un "Merci d'avance" font le bonheur des bénévoles...
      A lire !
      1. Bonjour, oui c'est une question désoler si je suis si mal polie ce n'était pas mon attention ^^ je suis juste énervé par rapport a se programme