Python入门到精通之Python应用-两行Python实现“文本文件”差异比较
小职 2021-10-21 来源 :菜鸟学Python 阅读 534 评论 0

摘要:本文主要介绍了Python入门到精通之Python应用-两行Python实现“文本文件”差异比较,通过具体的内容展现,希望对大家Python语言的学习有所帮助。

本文主要介绍了Python入门到精通之Python应用-两行Python实现“文本文件”差异比较,通过具体的内容展现,希望对大家Python语言的学习有所帮助。

Python入门到精通之Python应用-两行Python实现“文本文件”差异比较


比如,我们在过去的某个时候写了一段代码。后来,我们由于业务需求,对代码做了部分改动。一段时间过去了,我们想不起来这段代码,究竟改动了哪里?

 

此时,本文讲述的这个功能,很好的帮助我们解决了这个问题。

 

这个功能属于filestools库系列功能中,另外一个超级好用的功能。

 

进行文本文件差异比较,我们需要提前导入如下库的file_diff_compare方法:

 

from filediff.diff import file_diff_compare

关于这个方法的使用说明,可以先了解一下。

 

file_diff_compare(file1, file2, diff_out='diff_result.html', max_width=70, numlines=0, show_all=False, no_browser=False)

file_diff_compare方法一共有7个参数,对这7个参数,分别介绍如下:

 

 file1 / file2:待比较的两个文件,必须文本文件;

 diff_out:差异结果保存的文件名(网页格式),默认值diff_result.html;

 max_width:每行超过多少字符,就自动换行,默认值70;

 numlines:在差异行基础上,前后显示多少行,默认是0;

 show_all:只要设置这个参数就表示显示全部原始数据,默认不显示全部;

 no_browser:设置这个参数,在生成结果后,不会自动打开游览器。当设置为False后,会自动打开浏览器;

接下来,用一个案例为大家实现文本文件差异比较的效果。

 

例如:曾经有一个a.txt文件,经过一段时间后,我对其中的内容做了修改,得到了最后的b.txt。

 Python入门到精通之Python应用-两行Python实现“文本文件”差异比较

 

 

注明:此时这个文本文件内容很少,你用眼睛都可以看出哪里改动了,如果内容超级多呢?

 

操作很简单,2行代码就可以搞定。

 

from filediff.diff import file_diff_compare  

file_diff_compare("a.txt", "b.txt")

此时,会在你的当前工作环境下,生成一个html网页文件。

 

 Python入门到精通之Python应用-两行Python实现“文本文件”差异比较

 

双击打开,看看里面有啥!

 

 Python入门到精通之Python应用-两行Python实现“文本文件”差异比较

 

我们分别为大家讲述图中3个单词的含义:

 

 ① 黄色表示改动过的内容;

 ②  绿色表示新添加过的内容;

 ③ 红色表示已经删除过的内容;

关于file_diff_compare方法,还有两个好用的参数,我们一起来看看吧。

 

1. show_all参数

只要设置这个参数就表示显示全部原始数据,默认不显示全部。

 

file_diff_compare("a.txt", "b.txt", show_all=True)

结果如下:

 Python入门到精通之Python应用-两行Python实现“文本文件”差异比较

 

 

2. no_browser参数

设置这个参数,在生成结果后,不会自动打开游览器。当设置为False后,会自动打开浏览器。

 

file_diff_compare("a.txt", "b.txt", no_browser=False)

此时,系统会自动打开浏览器文件,省时省力!


我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

Python入门到精通之Python应用-两行Python实现“文本文件”差异比较

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程