Pages : 1
#1 Le 12/12/2015, à 10:58
- skander09
replace dans python
Bonjour
J' ai un petit code et je veux le modifier de tel sorte de les fonctions replace soient dans des lignes séparés, quand je fais ça il me donne un erreur, y 'a t-il une solution et merci
result=file("file.txt","r").read().replace("20", "new").replace("10", "old")
file("file1.txt","w").write(result)
Hors ligne
#2 Le 12/12/2015, à 11:12
- pingouinux
Re : replace dans python
Bonjour,
Ce que tu montres ci-dessus est correct (du moins en python2).
Si tu as essayé autre chose qui ne fonctionne pas, montre ce que tu as fait, et le message d'erreur.
Hors ligne
#3 Le 12/12/2015, à 11:13
- skander09
Re : replace dans python
Je dois le faire dans des lignes séparés parce que j' ai plus de 100 termes à remplacer et je veux les mettre l'un sous l'autre
Hors ligne
#4 Le 12/12/2015, à 11:18
- skander09
Re : replace dans python
Quand je fais ce code
result=file("file.txt","r").read()
.replace("20", "new")
.replace("10", "old")
file("file1.txt","w").write(result)
il me donne un erreur
File "test1.py", line 5
.replace("20", "new")
^
SyntaxError: invalid syntax
Hors ligne
#5 Le 12/12/2015, à 11:25
- pingouinux
Re : replace dans python
Ceci devrait convenir :
result=file("file.txt","r").read() \
.replace("20", "new") \
.replace("10", "old")
ou bien
result=file("file.txt","r").read()
result=result.replace("20", "new")
result=result.replace("10", "old")
Hors ligne
#6 Le 12/12/2015, à 11:27
- skander09
Re : replace dans python
Merci beaucoup pingouinux de votre aide
Hors ligne
#7 Le 12/12/2015, à 11:32
- pingouinux
Re : replace dans python
Si tu as beaucoup de termes à remplacer, tu peux faire ainsi :
ma_liste=( ("20","new"), ("10","old") )
result=file("file.txt","r").read()
for s1,s2 in ma_liste: result=result.replace(s1,s2)
Éventuellement, pour que ce soit plus lisible :
ma_liste=(
("20","new"),
("10","old"),
)
Hors ligne
#8 Le 12/12/2015, à 11:37
- skander09
Re : replace dans python
D' accord merci
Hors ligne
Pages : 1