[Python] Remplacer d'une chaine de caractère.

[Résolu/Fermé]
Signaler
-
 djo798OO -
Bonjour,
je suis vraiment novice en python, et je voulais faire un petit programme.
En fait, le prog chercheras dans un fichier .txt si une certaine chaine de caractères s'y trouve, et si il la trouve, qu'il la remplace par autre chose.

Du genre :
Si il trouve le mot "bonjour" dans une phrase, il le remplaceras par "salut".
Le problème c'est que quand j'écris mon prog et le test, il m'écrase tout le contenu du fichier.
Merci d'avance à tous.
A voir également:

4 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 768
Bonjour,
C'est normal puisque vous ouvrez le fichier en écriture. En plus, à aucun moment vous lisez le fichier.

Si le fichier n'est pas volumineux, vous pouvez faire :
f=open('fichier.txt','r')
chaine=f.read().replace('bonjour','salut')
f.close()
f=open('fichier.txt','w')
f.write(chaine)
f.close()

Cdlt,
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 768
Bonjour,
Merci de poster ton code pour qu'on puisse le corriger.
Cdlt,
Donc voilà mon code :


f=open('fichier.txt','w')
a='bonjour'
a.replace('bonjour','salut')
a=a.replace('bonjour','salut')
f.write(a)
f.close()


Le problème là, c'est que je ne sais pas comment rechercher la chaine 'bonjour' et la remplacer par 'salut'.
et même si il y a écrit "bonjour machin", il écraseras tout, et il y auras seulement écris "salut".

merci déjà d'avoir répondu.
Ahh! Merci beaucoup.

Ca marche parfaitement.

Bonne soirée.