Actuellement, j'utilise ceci:
f = open(filename, 'r+')
text = f.read()
text = re.sub('foobar', 'bar', text)
f.seek(0)
f.write(text)
f.close()
Mais le problème est que l'ancien fichier est plus volumineux que le nouveau fichier. Je me retrouve donc avec un nouveau fichier qui comporte une partie de l'ancien fichier à la fin.