все Python 3difflibпонятие
difflib.HtmlDiff
форматы различий
Класс, строящий HTML-таблицу различий в две колонки: make_file() даёт страницу, make_table() — только таблицу.
Синтаксис
difflib.HtmlDiff(tabsize=8, wrapcolumn=None).make_file(a, b, fromdesc='', todesc='', context=False, numlines=5)
По умолчанию показывается весь файл целиком — для длинных файлов передайте context=True и numlines. Строки не переносятся, пока не задан wrapcolumn, и широкий код растягивает таблицу. Результат — строка, её нужно записать в файл с encoding='utf-8' (кодировка страницы тоже utf-8 по умолчанию).
Примеры
import difflib
old = ['a = 1\n', 'b = 2\n']
new = ['a = 1\n', 'b = 3\n']
html = difflib.HtmlDiff(wrapcolumn=60).make_file(old, new, 'old.py', 'new.py', context=True)
with open('diff.html', 'w', encoding='utf-8') as f:
f.write(html)
print('<!DOCTYPE html' in html, 'old.py' in html) # → True True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности