在Python中,如何检查两个文件的相似度并获取差异百分比?
我想一次比较很多脚本,大部分脚本之间只有一些小差别,比如变量里面的名字不一样之类的。
总体来说,这些脚本的功能应该是一样的,我想测试一下它们到底有多不同。
我在考虑的办法是,把两个文件里的所有内容都拿出来,逐个字符进行比较,当发现不同的地方就增加一个计数。我不太确定这个计数应该和什么比较才能算出一个百分比,或者这样做是否是最好的方法。
如果你有好的想法或者建议,我会非常感激!
1 个回答
2
有两个建议:
1) 可以看看这个StackOverflow的问题和Python的difflib库。还有这个问题专门讨论了如何用difflib比较两个文本文件。
另外,有个叫Doug Hellmann的人写了一系列很棒的博客,叫做“每周Python模块”(Python Module of the Week,简称PyMOTW)。这是他关于difflib的文章。
2) 如果这些对你没帮助,可以先搜索一些与语言无关的文件比较算法,然后想想哪些算法在Python中最容易实现。简单在谷歌上搜索“文件比较算法”,会找到几个看起来不错的选项,你可以尝试在Python中实现: