Je n'arrive pas a supprimer les espace et les saut de ligne (/n)
Résolu
mister431
Messages postés
56
Date d'inscription
Statut
Membre
Dernière intervention
-
mister431 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
mister431 Messages postés 56 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai fait un programme qui doit modifier un texte précis mais le problème je dois supprimer tout les espace et les lignes.
mais .replace ne fonctionne pas a cause de mon import OS.
Pouvez vous m'aider ? (ZRC a regarder)
"détails" = si demande de supprimer /n ou replace " " "" cela ne fonctionne pas.
mais .replace ne fonctionne pas a cause de mon import OS.
Pouvez vous m'aider ? (ZRC a regarder)
"détails" = si demande de supprimer /n ou replace " " "" cela ne fonctionne pas.
import tkinter from tkinter import * from tkinter.filedialog import askopenfilename import os def sauvegarder(): cherche_file = askopenfilename(initialdir=r"C:\Desktop", title="Ouvrir", filetypes=(("Text Files", "*.txt"), ("Python Files", "*.py"), ("all files", "*.*"))) cherche_file = open(cherche_file, 'w') cherche_file.write(my_text.get(1.0, END)) def ZRC(): 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('tempo.txt','w') for lignes in fi: if('[ENTETE]' in lignes): lignes = lignes.replace('[ENTETE]', 'TI') if ("TYPE = LIVRAISON" in lignes): lignes = lignes.replace("TYPE = LIVRAISON", "Reception") if ("NO BDL =" in lignes): lignes = lignes.replace("NO BDL =", "Z") if ("DAT BDL" in lignes): lignes = lignes.replace("DAT BDL" , "ZRC") if("DAT LIV ="in lignes): lignes = lignes.replace("DAT LIV =", " ") if("[LIGNES]"in lignes): lignes = lignes.replace("[LIGNES]", "LI;ARTICLE") if("REF FOU"in lignes): lignes = lignes.replace("REF FOU", "BRA") if("QTE ="in lignes): lignes = lignes.replace("QTE =", " ") if("PA BRUT"in lignes): lignes = lignes.replace("PA BRUT", " ") if("REMISE"in lignes): lignes = lignes.replace("REMISE", " ") if("PV TTC"in lignes): lignes = lignes.replace("PV TTC", " ") if("TVA"in lignes): lignes = lignes.replace("TVA", " ") if("LIBELLE ="in lignes): lignes = lignes.replace("LIBELLE =", "A01D;") if("GENCOD = "in lignes): lignes = lignes.replace("GENCOD = ", "FAUX") print() fo.write(lignes) fi.close() fo.close() os.remove(mon_fichier) os.rename('tempo.txt', mon_fichier) file = open(mon_fichier, "r") lignes = file.readlines() lignes[2] = " " lignes[3] = " " lignes[6] = " " lignes[7] = " " lignes[8] = " " lignes[9] = " " lignes[10] = " " lignes[11] = " " lignes[12] = " " file = open(mon_fichier, "w") file.writelines(lignes) file.close() window = tkinter.Tk() window.title("Fred") window.geometry("1080x720") window.minsize(480, 360) window.iconbitmap("fred.ico") window.positionfrom("user") label_welcome = tkinter.Label(window, text="Version 1.0", font=("Arial", 30)) label_welcome.pack() #Exporter et importer mainmenu = tkinter.Menu(window) first_menu = tkinter.Menu(mainmenu, tearoff=0) first_menu.add_command(label='Importer', command=cherche) my_text = Text(window, width=40, height=30, font=("Helvetica", 16)) my_text.pack(pady=20) first_menu.add_command(label='Sauvegarder', command=sauvegarder) first_menu.add_command(label="Quitter", command=window.quit) second_menu = tkinter.Menu(mainmenu, tearoff= 0) second_menu.add_command(label="Information", command=show_about) second_menu.add_command(label="Help", command=show_about1) tree_menu = tkinter.Menu(mainmenu, tearoff=0) tree_menu.add_command(label="ZRC", command=ZRC) mainmenu.add_cascade(label="Fichier", menu=first_menu) mainmenu.add_cascade(label="Autre", menu=second_menu) mainmenu.add_cascade(label="Exporter", menu=tree_menu) window.config(menu=mainmenu) window.mainloop()
A voir également:
- Je n'arrive pas a supprimer les espace et les saut de ligne (/n)
- Supprimer rond bleu whatsapp - Guide
- Espace insécable - Guide
- Espace de stockage gmail plein - Guide
- Comment supprimer une page sur word avec un saut de page ? - Guide
- Partage de photos en ligne - Guide
9 réponses
Bonjour mister,
Il semble que tu n'as pas utilisé les balises de code Python pour afficher ton code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
Tu as un message d'erreur ?
Il semble que tu n'as pas utilisé les balises de code Python pour afficher ton code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()
Tu as un message d'erreur ?
import tkinter from tkinter import * from tkinter.filedialog import askopenfilename import os def sauvegarder(): cherche_file = askopenfilename(initialdir=r"C:\Desktop", title="Ouvrir", filetypes=(("Text Files", "*.txt"), ("Python Files", "*.py"), ("all files", "*.*"))) cherche_file = open(cherche_file, 'w') cherche_file.write(my_text.get(1.0, END)) def ZRC(): 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('tempo.txt','w') for lignes in fi: if('[ENTETE]' in lignes): lignes = lignes.replace('[ENTETE]', 'TI') if ("TYPE = LIVRAISON" in lignes): lignes = lignes.replace("TYPE = LIVRAISON", "Reception") if ("NO BDL =" in lignes): lignes = lignes.replace("NO BDL =", "Z") if ("DAT BDL" in lignes): lignes = lignes.replace("DAT BDL" , "ZRC") if("DAT LIV ="in lignes): lignes = lignes.replace("DAT LIV =", " ") if("[LIGNES]"in lignes): lignes = lignes.replace("[LIGNES]", "LI;ARTICLE") if("REF FOU"in lignes): lignes = lignes.replace("REF FOU", "BRA") if("QTE ="in lignes): lignes = lignes.replace("QTE =", " ") if("PA BRUT"in lignes): lignes = lignes.replace("PA BRUT", " ") if("REMISE"in lignes): lignes = lignes.replace("REMISE", " ") if("PV TTC"in lignes): lignes = lignes.replace("PV TTC", " ") if("TVA"in lignes): lignes = lignes.replace("TVA", " ") if("LIBELLE ="in lignes): lignes = lignes.replace("LIBELLE =", "A01D;") if("GENCOD = "in lignes): lignes = lignes.replace("GENCOD = ", "FAUX") print() fo.write(lignes) fi.close() fo.close() os.remove(mon_fichier) os.rename('tempo.txt', mon_fichier) file = open(mon_fichier, "r") lignes = file.readlines() lignes[2] = " " lignes[3] = " " lignes[6] = " " lignes[7] = " " lignes[8] = " " lignes[9] = " " lignes[10] = " " lignes[11] = " " lignes[12] = " " file = open(mon_fichier, "w") file.writelines(lignes) file.close() window = tkinter.Tk() window.title("Fred") window.geometry("1080x720") window.minsize(480, 360) window.iconbitmap("fred.ico") window.positionfrom("user") label_welcome = tkinter.Label(window, text="Version 1.0", font=("Arial", 30)) label_welcome.pack() #Exporter et importer mainmenu = tkinter.Menu(window) first_menu = tkinter.Menu(mainmenu, tearoff=0) first_menu.add_command(label='Importer', command=cherche) my_text = Text(window, width=40, height=30, font=("Helvetica", 16)) my_text.pack(pady=20) first_menu.add_command(label='Sauvegarder', command=sauvegarder) first_menu.add_command(label="Quitter", command=window.quit) second_menu = tkinter.Menu(mainmenu, tearoff= 0) second_menu.add_command(label="Information", command=show_about) second_menu.add_command(label="Help", command=show_about1) tree_menu = tkinter.Menu(mainmenu, tearoff=0) tree_menu.add_command(label="ZRC", command=ZRC) mainmenu.add_cascade(label="Fichier", menu=first_menu) mainmenu.add_cascade(label="Autre", menu=second_menu) mainmenu.add_cascade(label="Exporter", menu=tree_menu) window.config(menu=mainmenu) window.mainloop()
Ca ressemble à : Commande .replace + supprimer une ligne ne fonctionne pas
C'est bien mais il n'y a plus les indentations
Dans ZRC, tu ouvres mon_fichier, tu lis toutes les lignes, tu modifie, tu réouvre mon_fichier en
écriture sans l'avoir fermé, bizarre
A quel endroit supprimes-tu les \n ?
C'est bien mais il n'y a plus les indentations
Dans ZRC, tu ouvres mon_fichier, tu lis toutes les lignes, tu modifie, tu réouvre mon_fichier en
écriture sans l'avoir fermé, bizarre
A quel endroit supprimes-tu les \n ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est marrant, dans ton autre appel Commande .replace + supprimer une ligne ne
fonctionne pas je t'avais expliqué comment supprimer proprement des lignes, avec la
méthode du fichier temporaire (comme tu le fait déjà juste au dessus avec tes replace)
tu as reposté le code avec les couleurs mais il n'y a plus les indentations ...
Sinon, pour supprimer des saut de lignes, je ne le vois pas dans ton code, peux-tu montrer ca
que tu fais ?
Si tu regarde sur un autre forum, préviens nous, que l'on ne perde plus de temps ici
fonctionne pas je t'avais expliqué comment supprimer proprement des lignes, avec la
méthode du fichier temporaire (comme tu le fait déjà juste au dessus avec tes replace)
tu as reposté le code avec les couleurs mais il n'y a plus les indentations ...
Sinon, pour supprimer des saut de lignes, je ne le vois pas dans ton code, peux-tu montrer ca
que tu fais ?
Si tu regarde sur un autre forum, préviens nous, que l'on ne perde plus de temps ici
Merci de votre réponse rapide j'ai rajouter ce cis dans mon ZRC
Merci de pas être agressif s'il vous plait j'ai le droit de regarder des codes sur d'autre forum ce qui me permet m’améliore surtout je code mais je fait aussi des chose personnelle a coter mais bref...
Quand je rajoute cette ligne cela me crée pleins de problème dans mon texte cela annule pratiquement toute mes modification et ne supprime pas les espace ni les ligne sans explication.
J'ai essaye .replace mais cela ne fonctionne pas
if(" "in lignes): lignes = lignes.replace(" ", "") if("\n"in lignes): lignes = lignes.replace("\n", "")
Merci de pas être agressif s'il vous plait j'ai le droit de regarder des codes sur d'autre forum ce qui me permet m’améliore surtout je code mais je fait aussi des chose personnelle a coter mais bref...
Quand je rajoute cette ligne cela me crée pleins de problème dans mon texte cela annule pratiquement toute mes modification et ne supprime pas les espace ni les ligne sans explication.
J'ai essaye .replace mais cela ne fonctionne pas
je ne suis pas agressif, je te dis ça pour ne pas que l'on perde notre temps le uns et les autres
:-) :-)
Tu es d'accord avec moi que dans un simple fichier ascii les lignes se terminent par un
caractère de saut de ligne, le fameux \n
Exemple:
la ligne 1 du fichier\n
la ligne 2 du fichier\n
etc .........
donc il suffit, après avoir lu une ligne, de supprimer le dernier caractère
exemple:
:-) :-)
Tu es d'accord avec moi que dans un simple fichier ascii les lignes se terminent par un
caractère de saut de ligne, le fameux \n
Exemple:
la ligne 1 du fichier\n
la ligne 2 du fichier\n
etc .........
donc il suffit, après avoir lu une ligne, de supprimer le dernier caractère
exemple:
f = open(un_fichier,'r') for ligne in f: ligne = ligne[:-1] #on prend ligne du début jusqu'à un caractère en moins à partir de la fin
Votre code ne fonctionne pas personnellement ^^".
surtout que je comprend que la vous souhaiter retirer la ligne 2 ... se n'est pas se que je cherche je cherche a supprimer les espace et les saut de ligne. je vais vous donner mon texte que je dois convertir ^^ je dois les mettre tous sur une ligne ^^ ( sa sera plus simple)
surtout que je comprend que la vous souhaiter retirer la ligne 2 ... se n'est pas se que je cherche je cherche a supprimer les espace et les saut de ligne. je vais vous donner mon texte que je dois convertir ^^ je dois les mettre tous sur une ligne ^^ ( sa sera plus simple)
[ENTETE] TYPE = LIVRAISON CL CDE = 13915 CL LIV = 13915 NO BDL = 1488116 DAT BDL = 31082020 EMAIL = edi@rochetgroup.fr NO CDE = SW_025 DEVISE = EUR QTE TOT = 000006 PA TOT = 000000051.08 NBLIG = 006 CONTRM = DAT LIV = 31082020 [LIGNE] REF FOU = 5020413 QTE = 001 PA BRUT = 0010.4 REMISE = 0002.6 PA NET = 007.80 PV TTC = 000024 TVA = 20 LIBELLE = Buffle BUFFALO Beige 14/12mm Mat GENCOD = 3601510149332 [LIGNE] REF FOU = 5190402 QTE = 001 PA BRUT = 0010.4 REMISE = 0002.6 PA NET = 007.80 PV TTC = 000024 TVA = 20 LIBELLE = Veau Grain Alligator YAOUNDE Blanc 14/12mm Brillant GENCOD = 3601510068886 [LIGNE] REF FOU = 5411606ST QTE = 001 PA BRUT = 0010.4 REMISE = 0002.6 PA NET = 007.80 PV TTC = 000024 TVA = 20 LIBELLE = Vachette MIAMI Marine 16/14mm Mat GENCOD = 3601510275789 [LIGNE] REF FOU = 3011612XS QTE = 001 PA BRUT = 0012.6 REMISE = 003.15 PA NET = 009.45 PV TTC = 000029 TVA = 20 LIBELLE = Vachette NEW YORK Bleu 16/14mm Mat GENCOD = 3601510240725 [LIGNE] REF FOU = 3011605XS QTE = 001 PA BRUT = 0012.6 REMISE = 003.15 PA NET = 009.45 PV TTC = 000029 TVA = 20 LIBELLE = Vachette NEW YORK Rouge 16/14mm Mat GENCOD = 3601510240695 [LIGNE] REF FOU = 7230661 QTE = 001 PA BRUT = 0011.7 REMISE = 002.92 PA NET = 008.78 PV TTC = 000027 TVA = 20 LIBELLE = Veau NEPTUNE Noir 18/16mm Mat Etanche GENCOD = 3601510206950 [FIN]
Votre code ne fonctionne pas personnellement ^^".
Bien sur, tel quel ce n'est pas suffisant, il manque des choses, je voulais juste te montrer comment on supprime le dernier caractère d'une ligne lue dans un fichier
Chez moi, ça fonctionne car je fais comme pour le remplacement de texte
ouverture mon_fichier en lecture
ouverture temp.txt en écriture
lecture d'une ligne, suppression du dernier caractère (ligne = ligne[:-1]), donc du \n
supression des espaces (" ")
écriture de la ligne (donc sans le \n et sans espaces) dans temp.txt
fermeture des 2 fichiers et renommage de temp.txt
mon fichier de test est comme ceci avant traitement:
ligne 1
ligne 2
ligne3
et après traitement, il est comme ceci:
ligne1ligne2ligne3
C'est bien ce que l'on veut, non ?
surtout que je comprend que la vous souhaiter retirer la ligne 2
Quelle ligne 2 ?
Bien sur, tel quel ce n'est pas suffisant, il manque des choses, je voulais juste te montrer comment on supprime le dernier caractère d'une ligne lue dans un fichier
Chez moi, ça fonctionne car je fais comme pour le remplacement de texte
ouverture mon_fichier en lecture
ouverture temp.txt en écriture
lecture d'une ligne, suppression du dernier caractère (ligne = ligne[:-1]), donc du \n
supression des espaces (" ")
écriture de la ligne (donc sans le \n et sans espaces) dans temp.txt
fermeture des 2 fichiers et renommage de temp.txt
mon fichier de test est comme ceci avant traitement:
ligne 1
ligne 2
ligne3
et après traitement, il est comme ceci:
ligne1ligne2ligne3
C'est bien ce que l'on veut, non ?
surtout que je comprend que la vous souhaiter retirer la ligne 2
Quelle ligne 2 ?
Es ce que vous pouvez me montrer votre code alors au complet car actuellement vous me mettez l'amoitié et je vais pas vous mentir je suis complètement perdue de se que vous essayer de me faire
Ligne 2 je parlais de sa : ligne = ligne[:-1] je croyais que vous essaye de m'expliquer de supprimé cette ligne mais na juste un manque de compréhension
Ligne 2 je parlais de sa : ligne = ligne[:-1] je croyais que vous essaye de m'expliquer de supprimé cette ligne mais na juste un manque de compréhension
C'est bien parce que c'est toi :-)
def supprimer_sauts_lignes_et_espaces(): ''' Supprime les sauts de lignes et les espaces ''' global mon_fichier fi = open(mon_fichier, 'r') fo = open('tempo.txt','w') for ligne in fi: ligne = ligne[:-1] ligne = ligne.replace(' ','') fo.write(ligne) fi.close() fo.close() os.remove(mon_fichier) os.rename('tempo.txt', mon_fichier) supprimer_sauts_lignes_et_espaces()
j'ai testé juste la partie de code ou tu fait
lignes = f.readlines()
lignes[2] = " "
ca me suprimme la 3eme ligne et ca ajoute un espace à la place
car la ligne 1 est égal a [0] et oui j'ai lu ton message et j'ai reposter si dessous le codage python avec la couleur.