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

Résolu
djo798OO -  
 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

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,
Merci de poster ton code pour qu'on puisse le corriger.
Cdlt,
0
djo798OO
 
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.
0
djo798OO
 
Ahh! Merci beaucoup.

Ca marche parfaitement.

Bonne soirée.
0