class difflib.HtmlDiff
This class can be used to create an HTML table (or a complete HTML file containing the table) showing a side by side, line by line comparison of text with inter-line and intra-line change highlights. The table can be generated in either full or contextual difference mode.
The constructor for this class is:
-
__init__(tabsize=8, wrapcolumn=None, linejunk=None, charjunk=IS_CHARACTER_JUNK)
-
Initializes instance of
HtmlDiff
.tabsize is an optional keyword argument to specify tab stop spacing and defaults to
8
.wrapcolumn is an optional keyword to specify column number where lines are broken and wrapped, defaults to
None
where lines are not wrapped.linejunk and charjunk are optional keyword arguments passed into
ndiff()
(used byHtmlDiff
to generate the side by side HTML differences). Seendiff()
documentation for argument default values and descriptions.
The following methods are public:
-
make_file(fromlines, tolines, fromdesc='', todesc='', context=False, numlines=5, *, charset='utf-8')
-
Compares fromlines and tolines (lists of strings) and returns a string which is a complete HTML file containing a table showing line by line differences with inter-line and intra-line changes highlighted.
fromdesc and todesc are optional keyword arguments to specify from/to file column header strings (both default to an empty string).
context and numlines are both optional keyword arguments. Set context to
True
when contextual differences are to be shown, else the default isFalse
to show the full files. numlines defaults to5
. When context isTrue
numlines controls the number of context lines which surround the difference highlights. When context isFalse
numlines controls the number of lines which are shown before a difference highlight when using the “next” hyperlinks (setting to zero would cause the “next” hyperlinks to place the next difference highlight at the top of the browser without any leading context).Changed in version 3.5: charset keyword-only argument was added. The default charset of HTML document changed from
'ISO-8859-1'
to'utf-8'
.
-
make_table(fromlines, tolines, fromdesc='', todesc='', context=False, numlines=5)
-
Compares fromlines and tolines (lists of strings) and returns a string which is a complete HTML table showing line by line differences with inter-line and intra-line changes highlighted.
The arguments for this method are the same as those for the
make_file()
method.
Tools/scripts/diff.py
is a command-line front-end to this class and contains a good example of its use.
Please login to continue.