在Python中,有没有办法检查两个文件的相似程度,并获得它们所具有的差异百分比?

时间:2014-07-11 16:11:25

标签: python file-io input comparison

我试图一次比较很多脚本,而且大多数脚本都有很小的差异,比如变量中的不同名称等等。

在大多数情况下,脚本的功能应该相同,我希望能够测试它们实际上有多么不同。

我正在考虑做的是接收来自两个文件的所有输入,并逐个字符地比较它们,并在出现差异时增加某种类型的计数。我不确定我会比较这个数字来计算一个百分比,或者这是否是最好的解决方法。

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

1 个答案:

答案 0 :(得分:2)

两个建议:

1)查看this SO question和Python的difflibThis SO question专门询问了difflib。

此外,一个名叫Doug Hellmann的人有一系列精彩的博客文章,称为本周的Python模块(PyMOTW)。 Here is his post about difflib.

2)如果那些不适合您,请首先尝试搜索与语言无关的算法进行文件比较,并考虑哪些最容易在Python中实现。一个简单的谷歌搜索"文件比较算法"想出了几个可以尝试用Python实现的可能性:

Here is a published PDF with a diff algorithm

This site has a discussion of several different algorithms with links