Modifer un fichier texte avec Python
dino.adnane
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
dino.adnane Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
dino.adnane Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J'ai un problème que je n'arrive pas à résoudre malgré mes recherches.
le fichier texte original par exemple est :

Je souhaiterais insérer " $ " chaque 3 lignes dans le fichier pour avoir par exemple:

Personnellement j'ai arrivé a ajouter " $ " mais à chaque ligne avec ce code:


Merci d'avance
J'ai un problème que je n'arrive pas à résoudre malgré mes recherches.
le fichier texte original par exemple est :
Je souhaiterais insérer " $ " chaque 3 lignes dans le fichier pour avoir par exemple:
Personnellement j'ai arrivé a ajouter " $ " mais à chaque ligne avec ce code:
Merci d'avance
A voir également:
- Modifer un fichier texte avec Python
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Salut dino.adnane,
Lorsque tu postes du code sur le forum ne poste pas des images, mais copie-colle ton code entre balises de code, permettant de préserver l'indentation de ton code, de colorer la syntaxe et numéroter tes lignes. Si tu n'as pas vu le bouton de l'éditeur te permettant de poster ton code correctement, il est là :

Pour résoudre ton problème, tu peux compter les lignes et utiliser l'opérateur modulo (opérateur
Un peu comme cela :
Là on compte avec enumerate en même temps que la boucle for :
https://docs.python.org/3/library/functions.html#enumerate
https://book.pythontips.com/en/latest/enumerate.html
mais tu peux aussi juste incrémenter les lignes dans ta boucle.
Dal
Lorsque tu postes du code sur le forum ne poste pas des images, mais copie-colle ton code entre balises de code, permettant de préserver l'indentation de ton code, de colorer la syntaxe et numéroter tes lignes. Si tu n'as pas vu le bouton de l'éditeur te permettant de poster ton code correctement, il est là :

Pour résoudre ton problème, tu peux compter les lignes et utiliser l'opérateur modulo (opérateur
%: reste de la division entière) sur le compteur pour savoir si c'est un multiple de 3. Si oui, tu écris un $ après avoir écrit ta ligne.
Un peu comme cela :
with open('input.txt') as f: for count, line in enumerate(f): print(line, end='') if (count + 1) % 3 == 0: print('$')
Là on compte avec enumerate en même temps que la boucle for :
https://docs.python.org/3/library/functions.html#enumerate
https://book.pythontips.com/en/latest/enumerate.html
mais tu peux aussi juste incrémenter les lignes dans ta boucle.
Dal
Oui avec enumerate j'ai pu trouver la solution mais avec votre code j'ai pas pu le compiler (je pense qu'il y a une erreur dans la ligne 3)
si tu as une erreur, c'est peut-être que tu codes en Python 2
cela dit, la ligne 3 a peu d'importance, c'était juste pour illustrer le fonctionnement avec un affichage
content que tu aies pu résoudre ton problème :-)
oui je code en Python 2, donc c'est ça qui a empêché votre code à s'exécuter chez moi