python-文件内容差异对比

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-文件内容差异对比相关的知识,希望对你有一定的参考价值。

  通过difflib模块实现文件内容差异对比,它是Python的标准库模块,不需要单独安装,作用是对比文件之间的差异。而且支持输出HTML文档,我们可以用difflib对比代码和配置文件的差别。


1、对比两个字符串的差别

技术分享图片

打印一下运行结果:

技术分享图片技术分享图片

理解一下输出的内容:

"-"符号:包含在第一个序列中,但不包含在第二个序列中;

"+"符号:包含在第二个序列中,但不包含在第一个序列中;

""(也就是空):两个序列行一致;

"?"符号:表示两个序列行存在增量差异;

"^"符号:标志出两个序列行存在的差异字符。


1、输出HTML格式的文档(使用HtmlDiff()类的make_file()方法)

技术分享图片

在执行此脚本的时候我们把它输出成到一个以.html(python check_str.py > diff.html)结尾的文件中,在浏览器中打开查看。

技术分享图片


小例子:比如我们维护多个配置文件时,会比较不同版本配置文件的差异,是我们更加清晰的看到增加或修改的差异配置项。实现思路是读取文件内容,以行作为分割,然后对比生成html文档(这里以passwd文件代替配置文件)

技术分享图片




以上是关于python-文件内容差异对比的主要内容,如果未能解决你的问题,请参考以下文章

别再手动比对文件啦,Python 让你轻松实现文件内容以及目录对比!!!

Beyond Compare如何比较文件内容的差异 如何对比文件内容的差异

Python文件对比

Python对比两个txt文件内容

文件内容差异对比方法

文件与目录差异对比模块filecmp