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魔术方法详解
Feb 14 Python
python分析网页上所有超链接的方法
May 08 Python
Python中List.count()方法的使用教程
May 20 Python
python fabric实现远程部署
Jan 05 Python
python 读取txt,json和hdf5文件的实例
Jun 05 Python
selenium+python 对输入框的输入处理方法
Oct 11 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
python TF-IDF算法实现文本关键词提取
May 29 Python
Python 用三行代码提取PDF表格数据
Oct 13 Python
pytorch 彩色图像转灰度图像实例
Jan 13 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
pandas统计重复值次数的方法实现
Feb 20 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实现的随机广告显示代码
2007/06/14 PHP
php实例分享之二维数组排序
2014/05/15 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
js下利用控制器载入对应脚本
2010/07/17 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
python paramiko模块学习分享
2017/08/23 Python
python如何重载模块实例解析
2018/01/25 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
小学教师培训感言
2014/02/11 职场文书
研修第一天随笔感言
2014/02/15 职场文书
应届生自荐书
2014/06/23 职场文书
党员志愿者活动总结
2014/06/26 职场文书
诉讼授权委托书
2014/10/15 职场文书
十岁生日答谢词
2015/01/05 职场文书
求职自我评价范文
2015/03/09 职场文书
财务会计求职信范文
2015/03/20 职场文书
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers