Attualmente sto usando questo:
f = open(filename, 'r+')
text = f.read()
text = re.sub('foobar', 'bar', text)
f.seek(0)
f.write(text)
f.close()
Ma il problema è che il vecchio file è più grande del nuovo file. Quindi finisco con un nuovo file che ha una parte del vecchio file alla fine di esso.
f.write(text)
dopof.truncate()
?