все Python 3difflibпонятие
difflib.Differ
форматы различий
Класс, выдающий построчные различия в формате ndiff; метод compare(a, b) возвращает генератор строк.
Синтаксис
difflib.Differ(linejunk=None, charjunk=None).compare(a, b)
ndiff() — это и есть Differ, только с другим умолчанием: ndiff подставляет charjunk=IS_CHARACTER_JUNK, а Differ() по умолчанию ничего мусором не считает. Если строки без '\n' (например из splitlines()), служебные строки '? ' всё равно оканчиваются '\n', и при склейке через ''.join() вывод перемешается.
Примеры
import difflib
d = difflib.Differ()
print(list(d.compare(['a\n', 'b\n'], ['a\n', 'c\n']))) # → [' a\n', '- b\n', '+ c\n']
import difflib
out = list(difflib.Differ().compare(['a = 1', 'b = 2'], ['a = 1', 'b = 3']))
print(out[1:3]) # → ['- b = 2', '? ^\n']
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности