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

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

Вывести одну из двух строк, которые сгенерировали разницу при сравнении

Синтаксис:

import difflib

difflib.restore(sequence, which)

Параметры:

  • sequence - последовательность, созданная с помощью класса Differ.compare() или функцией ndiff(),
  • which - 1 или 2 - это первая или вторая строка, переданные в Differ.compare() или ndiff().

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

Описание:

Функция restore() модуля difflib вернет одну из двух последовательностей, которые сгенерировали дельту.

Функция restore() принимает последовательность sequence, созданную с помощью класса Differ.compare() или функцией ndiff(), извлекает строки, происходящие из строк 1 или 2 - параметр which, при этом префиксы различий удаляются.

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

>>> txt_list1 = 'one\ntwo\nthree\n'.splitlines(keepends=True)
>>> txt_list2 = 'ore\ntree\nemu\n'.splitlines(keepends=True)
>>> diff = ndiff(txt_list1, txt_list2)

# преобразовать сгенерированную дельту в список в список
>>> diff = list(diff) 
>>> print(''.join(restore(diff, 1)), end="")
# one
# two
# three

>>> print(''.join(restore(diff, 2)), end="")
# ore
# tree
# emu