Сообщить об ошибке.

Функция ndiff() модуля difflib в Python

Получить различия между двумя текстами при их сравнении

Синтаксис:

import difflib

difflib.ndiff(a, b, linejunk=None, charjunk=IS_CHARACTER_JUNK)

Параметры:

Возвращаемое значение:

Описание:

Функция ndiff() модуля difflib сравнивает списки строк a и b и возвращает список строк с указанием различий в строках как генератор строк дельты в стиле Unix утилиты 'diff'.

Необязательные параметры ключевого слова linejunk и charjunk являются функциями фильтрации.

linejunk: функция, которая принимает один строковый аргумент и возвращает True, если строка является нежелательной, или False, если нет. По умолчанию linejunk=None. Существует функция уровня модуля IS_LINE_JUNK(), которая отфильтровывает строки, не содержащие видимых символов, за исключением максимум одного символа '#'. Класс SequenceMatcher() выполняет динамический анализ того, какие строки встречаются так часто, что представляют собой шум и обычно работает лучше чем IS_LINE_JUNK().

charjunk: функция, которая принимает символ - строка длиной 1 символ и возвращает True, если символ является мусором, или False, если нет. По умолчанию используется функция уровня модуля IS_CHARACTER_JUNK(), которая отфильтровывает пробельные символы - пробел или табуляция.

Функция ndiff() является интерфейсом командной строки модуля difflib.

Примеры использования:

>>> import difflib
>>> txt1 = 'one\ntwo\nthree\n'.splitlines(keepends=True)
>>> txt2 = 'ore\ntree\nemu\n'.splitlines(keepends=True)
>>> diff = difflib.ndiff(txt1, txt2)
>>> print(''.join(diff), end="")
# - one
# ?  ^
# + ore
# ?  ^
# - two
# - three
# ?  -
# + tree
# + emu