все Python 3difflibфункция
difflib.context_diff()
форматы различий
Строит различия в формате context diff: блоки *** и --- и знак ! у изменённых строк.
Синтаксис
difflib.context_diff(a, b, fromfile='', tofile='', n=3, lineterm='\n')
Формат старше unified и вдвое многословнее: каждый изменённый участок показан дважды, «до» и «после». Сегодня его ждут разве что старые инструменты (patch -c), для людей и для git привычнее unified_diff. Ловушки те же: на вход — списки строк, для строк без '\n' нужен lineterm='', результат — генератор.
Примеры
import difflib
a = ['one\n', 'two\n', 'three\n']
b = ['one\n', 'too\n', 'three\n']
print(''.join(difflib.context_diff(a, b, 'old.txt', 'new.txt')))
# → *** old.txt / --- new.txt / *** 1,3 **** / ! two / --- 1,3 ---- / ! too
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности