要计算增量,我们应该使用python的difflib模块。该模块具有不同的类和功能来比较序列。它可以比较文件,HTML文件等。
要使用此模块,我们需要在python代码中导入difflib模块。
import difflib
difflib模块的一些类和功能。
此类用于比较任何类型的两个序列。它有不同的方法。其中一些方法是这样的-
set_seqs(a,b) -设置要比较的序列文件。它计算并缓存有关第二个文件的详细信息。因此,要匹配多个文件,我们应该重复设置第一个序列。
set_seq1(a) -设置要比较的第一个序列。
set_seq2(2) -设置要比较的第二个序列。
find_longest_match(alo,ahi,blo,bhi) -查找第一个序列中从alo到ahi以及第二序列blo到bhi哪个匹配块最长。
get_matching_blocks() -以降序找到匹配序列的列表。
ratio() -查找序列相似度的比率作为浮点值。
import difflib myStr1 = 'Python Programming' myStr2 = 'Python Standard Library' seq_match = difflib.SequenceMatcher(lambda x: x==' ', myStr1, myStr2) print("The ratio of the sequence matching is: " + str(round(seq_match.ratio(), 3))) for match_block in seq_match.get_matching_blocks(): print(match_block)
输出结果
The ratio of the sequence matching is: 0.488 Match(a=0, b=0, size=7) Match(a=8, b=13, size=1) Match(a=11, b=19, size=2) Match(a=18, b=23, size=0)