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