Le module difflib possède principalement trois classes :
- la classe SequenceMatcher compare deux suites de valeurs. Elle utilise un algorithme récursif, qui identifie le plus grand bloc en commun des deux suites.
- la classe Differ compare des suites de chaînes de caractères, telles que les lignes d'un fichier texte.
- la classe HtmlDiff renvoie le même genre de résultats, dans une table html.
Differ
Considérons les deux textes suivants, séparés en listes de chaînes de caractères :
Pour en obtenir les différences, on peut procéder ainsi :
import difflib
d = difflib.Differ()
diff = d.compare(lignes_texte1, lignes_texte2)
print '\n'.join(list(diff))