两行Python就能实现“文本文件”差异比较,太强了!

发表于:2021-9-22 09:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:菜鸟学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。
  注明:此时这个文本文件内容很少,你用眼睛都可以看出哪里改动了,如果内容超级多呢?
  操作很简单,2行代码就可以搞定。
  from filediff.diff import file_diff_compare  
  file_diff_compare("a.txt", "b.txt") 
  此时,会在你的当前工作环境下,生成一个html网页文件。
  双击打开,看看里面有啥!
  我们分别为大家讲述图中3个单词的含义:
   ① 黄色表示改动过的内容;
   ②  绿色表示新添加过的内容;
   ③ 红色表示已经删除过的内容;
  关于file_diff_compare方法,还有两个好用的参数,我们一起来看看吧。
  1. show_all参数
  只要设置这个参数就表示显示全部原始数据,默认不显示全部。
  file_diff_compare("a.txt", "b.txt", show_all=True) 
  结果如下:
  2. no_browser参数
  设置这个参数,在生成结果后,不会自动打开游览器。当设置为False后,会自动打开浏览器。
  file_diff_compare("a.txt", "b.txt", no_browser=False) 
  此时,系统会自动打开浏览器文件,省时省力!

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号