为了账号安全,请及时绑定邮箱和手机立即绑定

python-文件内容差异对比

标签:
Python

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


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

https://img1.sycdn.imooc.com//5b29cd290001837506840500.jpg

打印一下运行结果:

https://img1.sycdn.imooc.com//5b29cd3400019efe05230120.jpg

理解一下输出的内容:

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

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

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

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

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


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

https://img1.sycdn.imooc.com//5b29cd4300016db506460448.jpg

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

https://img1.sycdn.imooc.com//5b29cd6400017fe705660255.jpg


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

https://img1.sycdn.imooc.com//5b29cd710001400e07820416.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消