все Python 3difflibфункция
difflib.ndiff()
форматы различий
Построчное сравнение для человека: '- ' и '+ ' у разных строк и строка '? ' с указанием изменённых символов.
Синтаксис
difflib.ndiff(a, b, linejunk=None, charjunk=IS_CHARACTER_JUNK)
В отличие от unified_diff выводит все строки, включая совпавшие (с префиксом из двух пробелов), поэтому на больших файлах вывод огромный. Строки '? ' подсвечивают символы знаками ^, + и -, а сам результат можно обратить: restore() вернёт любой из исходных списков. Строки должны оканчиваться '\n', иначе подсказки склеятся.
Примеры
import difflib
for line in difflib.ndiff(['one\n', 'abcde\n'], ['one\n', 'abXde\n']):
print(line, end='') # → one / - abcde / ? ^ / + abXde
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности