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显示进度条的方法
Sep 20 Python
Python文件的读写和异常代码示例
Oct 31 Python
python实现Decorator模式实例代码
Feb 09 Python
python实现随机调用一个浏览器打开网页
Apr 21 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
python3发送邮件需要经过代理服务器的示例代码
Jul 25 Python
PyQt 图解Qt Designer工具的使用方法
Aug 06 Python
查看端口并杀进程python脚本代码
Dec 17 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
Python unittest单元测试openpyxl实现过程解析
May 27 Python
使用Keras加载含有自定义层或函数的模型操作
Jun 10 Python
利用Python第三方库实现预测NBA比赛结果
Jun 21 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
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
PHP中的cookie不用刷新就生效的方法
2012/02/04 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
js的with语句使用方法
2007/09/21 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
浅谈jQuery 选择器和dom操作
2016/06/07 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
详解js的六大数据类型
2016/12/27 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
vant组件中 dialog的确认按钮的回调事件操作
2020/11/04 Javascript
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
以一段代码为实例快速入门Python2.7
2015/03/31 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
毕业生欢送会主持词
2014/03/31 职场文书
政府信息公开实施方案
2014/05/09 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
催款律师函范文
2015/05/27 职场文书
电影建党伟业观后感
2015/06/01 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
python数字图像处理:图像简单滤波
2022/06/28 Python