我difflib.HtmlDiff
用来比较两个文件。我希望在输出的 html 中突出显示差异。
当一行中最多有两个不同的字符时,这已经有效:
a = "2.000"
b = "2.120"
但是当一行上有更多不同的字符时,在输出中整行被标记为红色(在左侧)或绿色(在表格的右侧):
a = "2.000"
b = "2.123"
这种行为是可配置的吗?那么我可以设置该行被标记为删除/添加的不同字符的数量吗?
编辑:
例子:
import difflib
diff=difflib.HtmlDiff()
print(diff.make_file(
'''
2.000
2.000
2.000
'''.splitlines(),
'''
2.001
2.010
2.011
'''.splitlines()))
给我这个输出:
第 2 行是我想要的输出。它突出了黄色的差异。第 3 行对我来说很奇怪,因为它没有检测到一个字符的变化,而是将其显示为删除/添加。第 4 行与第 3 行相同,但标记了整行。