Python实现的文本对比报告生成工具示例


Posted in Python onMay 22, 2018

本文实例讲述了Python实现的文本对比报告生成工具。分享给大家供大家参考,具体如下:

借助于difflib的功能,可以针对我们的使用情况进一步进行功能的聚合。我想要的功能是输入两个文件名以及一个输出报告的文件名之后,运行直接给出最终的报告。

代码实现如下:

import sys
import difflib
try:
  file1 = sys.argv[1]
  file2 = sys.argv[2]
  report = sys.argv[3]
except Exception,e:
  print('Error:' + str(e))
  sys.exit()
def GetLines(file_name):
  return open(file_name).readlines()
txt_line1 = GetLines(file1)
txt_line2 = GetLines(file2)
d = difflib.HtmlDiff()
fid = open(report,'w')
fid.write(d.make_file(txt_line1,txt_line2))
fid.close()

测试如下:

GreydeMac-mini:Chapter_02 greyzhang$ ls
c01.py d2.py
dns_parser.py pydiff.py
d1.py diff.py
join.py
GreydeMac-mini:Chapter_02 greyzhang$ python diff.py d1.py d2.py report.html
GreydeMac-mini:Chapter_02 greyzhang$ ls
c01.py d2.py
dns_parser.py pydiff.py
d1.py diff.py
join.py report.html

使用浏览器打开报告如下:

Python实现的文本对比报告生成工具示例

报告生成成功,而整个操作也简化了不少。

Python 相关文章推荐
跟老齐学Python之关于循环的小伎俩
Oct 02 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
Jun 15 Python
python出现"IndentationError: unexpected indent"错误解决办法
Oct 15 Python
Python面向对象程序设计之私有属性及私有方法示例
Apr 08 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
python对csv文件追加写入列的方法
Aug 01 Python
PyQt 图解Qt Designer工具的使用方法
Aug 06 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
利用Tensorflow的队列多线程读取数据方式
Feb 05 Python
pip安装tensorflow的坑的解决
Apr 19 Python
Python+Tkinter打造签名设计工具
Apr 01 Python
python smtplib模块实现发送邮件带附件sendmail
May 22 #Python
点球小游戏python脚本
May 22 #Python
python smtplib模块自动收发邮件功能(二)
May 22 #Python
python smtplib模块自动收发邮件功能(一)
May 22 #Python
python模块smtplib学习
May 22 #Python
Pipenv一键搭建python虚拟环境的方法
May 22 #Python
PyTorch线性回归和逻辑回归实战示例
May 22 #Python
You might like
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
stripos函数知识点实例分享
2019/02/11 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
javascript回调函数详解
2018/02/06 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
Python集合操作方法详解
2020/02/09 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
python中类与对象之间的关系详解
2020/12/16 Python
酒店营销策划方案
2014/02/07 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
保护环境倡议书
2014/04/14 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
农业项目合作意向书
2015/05/08 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书