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文件比较示例分享
Jan 10 Python
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
python字符串连接方法分析
Apr 12 Python
轻松掌握python设计模式之策略模式
Nov 18 Python
django定期执行任务(实例讲解)
Nov 03 Python
PyTorch快速搭建神经网络及其保存提取方法详解
Apr 28 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
python中数字是否为可变类型
Jul 08 Python
浅谈pytorch中的dropout的概率p
May 27 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
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
jQuery 选择器理解
2010/03/16 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
2015/03/13 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
require.js的用法详解
2015/10/20 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
vue mounted组件的使用
2018/06/18 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
实现一个 Vue 吸顶锚点组件方法
2019/07/10 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
Python中的zip函数使用示例
2015/01/29 Python
django 修改server端口号的方法
2018/05/14 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
pymysql模块的操作实例
2019/12/17 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
企业管理部经理岗位职责
2013/12/24 职场文书
求职自我推荐信
2014/06/25 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
公务员保密工作承诺书
2015/05/04 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
如何把新闻人物写得立体、鲜活?
2019/08/14 职场文书