两个文本文件之间的百分比差异

17 投票
3 回答
19920 浏览
提问于 2025-04-15 13:53

我知道可以用cmp、diff等工具来比较两个文件,但我想找的是一个能给我两个文件之间百分比差异的工具。

如果没有这样的工具,任何算法也可以。我读过一些关于模糊编程的内容,但还不是很明白。

3 个回答

1

Beyond Compare 这个工具可以很方便地把文件之间的差异导出为csv格式。它能逐行显示不同之处,这样在比较源代码文件时就特别好用了。

4

看起来Linux有一个叫做dwdiff的工具,它可以通过使用“-s”这个选项来显示百分比的差异。

http://www.softpanorama.org/Utilities/diff_tools.shtml

39

你可以使用 difflib.SequenceMatcher 的 ratio 方法。

根据文档的说明:

这个方法会返回一个浮点数,表示两个序列的相似度,范围在 [0, 1] 之间。

举个例子:

from difflib import SequenceMatcher
text1 = open(file1).read()
text2 = open(file2).read()
m = SequenceMatcher(None, text1, text2)
m.ratio()

撰写回答