{0} car j'utilise la position pour le format "{0}{1}{2}".format("spam","egg","parrot") donne "spameggparrot". "{line}\n".format(line=sans_accent(line)) aurait sans doute été plus propre.

Le %s peut poser problème lors de l'appel à __str__ et il est moins clair, donc j'essaie de l'éviter. Du coup quand je change une chaîne j'utilise un format à la place.