Python duppliquer texte help. [Résolu]

Signaler
-
Messages postés
855
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
20 janvier 2021
-
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

Messages postés
50602
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
20 janvier 2021
6 695
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 !
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
Messages postés
855
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
20 janvier 2021
96
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 ?
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.
Messages postés
855
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
20 janvier 2021
96
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 .........
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.
Messages postés
855
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
20 janvier 2021
96
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 ? :-)