[Python] Remplacer d'une chaine de caractère.
Résolu
djo798OO
-
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.
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:
- Remplacer un caractère par un autre python
- Caractère ascii - Guide
- Remplacer disque dur par ssd - Guide
- Caractère spéciaux - Guide
- Remplacer un mot par un autre word - Guide
- Caractere speciaux - Guide
4 réponses
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 :
Cdlt,
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,
Donc voilà mon code :
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.
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.