本库主要提供一些类和一些函数来比较不同序列对象,提取出来差别部分,特别在文本方面的比较更加有用。例如在文件方面进行比较,在不同的格式下比较会产生不同的差别的结果,可以支持HTML文本比较,也可以支持纯文本比较和以及只产生修改的文本显示。对于文件目录和文件的比较,可以使用filecmp库来进行比较差别。
类difflib.SequenceMatcher
可以比较任何类型的序列对象的类。
类difflib.Differ
主要用来比较文本文件,可以一行一行地比较,产生出一个人能读懂的差异报告文本。每一行有差异时,采用下面的标记来标示出来:
标记 | 意义 |
‘-’ | 表示在第一个序列里存在此行 |
‘+’ | 表示在第二个序列里存在此行 |
‘ ’ | 表示在第一个和第二个序列都存在 |
‘?’ | 表示在两个序列都存在,但有差异,也就是变化的地方 |