"Tommy Kaas" <tommy.k...@kaasogmulvad.dk> wrote
I'm especially interested to know how I do more than just one
search-replace
without having to repeat the whole step below.
fin = open("dirtyfile.txt")
fout = open("cleanfile.txt", "w")
for line in fin:
fout.write(line.replace('## ', '#'))
fin.close()
fout.close()
Can be simplified to:
with open("cleanfile.txt", "w") as fout:
for line in open("dirtyfile.txt"):
fout.write(line.replace('## ', '#'))
To do multiple replaces simply expand the inner block
for line in open("dirtyfile.txt"):
line = line.replace(....) #first
line = line.replace(....) #second etc
fout.write(line)
Or if you have a lot of them:
replacePatterns = [('##','#'),('!!!','!!'),....]
for line in open("dirtyfile.txt"):
for old,new in repace_patterns:
line = line.replace(old,new)
fout.write(line)
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor