用于计算增量的Python帮助器

要计算增量,我们应该使用python的difflib模块。该模块具有不同的类和功能来比较序列。它可以比较文件,HTML文件等。

要使用此模块,我们需要在python代码中导入difflib模块。

import difflib

difflib模块的一些类和功能。

类(difflib.SequenceMatcher)-

此类用于比较任何类型的两个序列。它有不同的方法。其中一些方法是这样的-

  • 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)