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

Класс HtmlDiff() модуля difflib в Python

Таблица сравнения двух текстов с подсветками изменений

Синтаксис:

import difflib

diff = difflib.HtmlDiff(tabsize=8, wrapcolumn=None, 
                     linejunk=None, 
                     charjunk=IS_CHARACTER_JUNK)

Параметры:

  • tabsize=8 - интервал табуляции,
  • wrapcolumn=None - номера столбцов, где строки разбиты и перенесены,
  • linejunk, charjunk - функции фильтрации "мусора".

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

  • HTML текст или файл.

Описание:

Класса HtmlDiff() модуля difflib создает HTML-таблицу или полный HTML-файл содержащего таблицу, показывающую параллельное построчное сравнение текста с подсветками изменений между строками и между строками. Таблица может быть сгенерирована в полном или контекстном режиме.

  • tabsize - необязательные ключевой аргумент, который задает интервал табуляции и по умолчанию равен 8.
  • wrapcolumn - необязательные ключевой аргумент для указания номера столбца, где строки разбиты и перенесены, по умолчанию равенNone`, где строки не переносятся.
  • linejunk, charjunk - необязательные ключевые аргументы, передаваемые в функцию ndiff(), используется HtmlDiff() для генерации параллельных различий HTML. Смотрите документацию ndiff() для просмотра описания значений аргументов.

Следующие методы являются общедоступными:

make_file(fromlines, tolines, fromdesc='', todesc='', context=False, numlines=5, *, charset='utf-8'):

Метод make_file() сравнивает списки строк fromlines и tolines и возвращает строку, которая представляет собой полный HTML-файл, содержащий таблицу, показывающую строчные различия с выделенными межстрочными и внутристрочными изменениями.

  • fromdesc и todesc необязательные ключевые аргументы для указания строк заголовка столбца from/to file, оба по умолчанию пустые строки.
  • context и numlines необязательные ключевые аргументы. Установите значение context=True, когда должны быть показаны контекстные различия, значение по умолчанию False для отображения полных сравниваемых текстов. По умолчанию numlines=5. Когда context=True, то numlines управляет количеством строк контекста, которые окружают выделенные различия. Когда context=False, то numlines управляет количеством строк, которые отображаются перед выделением разницы при использовании гиперссылок next. Установка нуля приведет к тому, что гиперссылки next разместят следующее выделение разницы в верхней части браузера без какого-либо ведущего контекста.

Заметка: fromdesc и todesc интерпретируются как неэкранированный HTML и должны быть экранированы при получении входных данных из ненадежных источников.

make_table(fromlines, tolines, fromdesc='', todesc='', context=False, numlines=5, *, charset='utf-8'):

Метод make_table() сравнивает списки строк fromlines и tolines и возвращает строку, которая является полной HTML таблицей, показывающей построчно различия с выделенными межстрочными и внутристрочными изменениями.

Аргументы для этого метода такие же, как и для метода make_file().