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的Flask框架中@app.route的用法教程
Mar 31 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
Python处理XML格式数据的方法详解
Mar 21 Python
利用python批量给云主机配置安全组的方法教程
Jun 21 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
May 24 Python
python实现电脑自动关机
Jun 20 Python
Python异常处理知识点总结
Feb 18 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
Jul 14 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
python游戏开发之pygame实现接球小游戏
Apr 22 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 友好URL的实现(吐血推荐)
2008/10/04 PHP
关于页面优化和伪静态
2009/10/11 PHP
php 显示指定路径下的图片
2009/10/29 PHP
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
Python实现获取某天是某个月中的第几周
2015/02/11 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
2017/04/11 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
200行python代码实现2048游戏
2019/07/17 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
HTML5和以前HTML4的区别整理
2013/10/20 HTML / CSS
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
市场营销策划方案
2014/06/11 职场文书
球队口号
2014/06/18 职场文书
小学生学习保证书
2015/02/26 职场文书
职工培训工作总结
2015/08/10 职场文书