在Python中,如何检查两个文件的相似度并获取差异百分比?

-2 投票
1 回答
1048 浏览
提问于 2025-04-18 12:58

我想一次比较很多脚本,大部分脚本之间只有一些小差别,比如变量里面的名字不一样之类的。

总体来说,这些脚本的功能应该是一样的,我想测试一下它们到底有多不同。

我在考虑的办法是,把两个文件里的所有内容都拿出来,逐个字符进行比较,当发现不同的地方就增加一个计数。我不太确定这个计数应该和什么比较才能算出一个百分比,或者这样做是否是最好的方法。

如果你有好的想法或者建议,我会非常感激!

1 个回答

2

有两个建议:

1) 可以看看这个StackOverflow的问题和Python的difflib库。还有这个问题专门讨论了如何用difflib比较两个文本文件。

另外,有个叫Doug Hellmann的人写了一系列很棒的博客,叫做“每周Python模块”(Python Module of the Week,简称PyMOTW)。这是他关于difflib的文章。

2) 如果这些对你没帮助,可以先搜索一些与语言无关的文件比较算法,然后想想哪些算法在Python中最容易实现。简单在谷歌上搜索“文件比较算法”,会找到几个看起来不错的选项,你可以尝试在Python中实现:

这里有一个发布的PDF,里面有一个差异算法

这个网站讨论了几种不同的算法,并提供了链接

撰写回答