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的Pyspider为例剖析搜索引擎的网络爬虫实现方法
Mar 30 Python
python实现带声音的摩斯码翻译实现方法
May 20 Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
python2.6.6如何升级到python2.7.14
Apr 08 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
pygame实现弹球游戏
Apr 14 Python
numpy矩阵数值太多不能全部显示的解决
May 14 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
python计算auc的方法
Sep 09 Python
python中os.path.join()函数实例用法
May 26 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
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
纯js实现画一棵树的示例
2017/09/05 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
python django集成cas验证系统
2014/07/14 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
django框架创建应用操作示例
2019/09/26 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
新闻专业应届生求职信
2013/10/31 职场文书
生产部经理岗位职责
2013/12/16 职场文书
出生公证书样本
2014/04/04 职场文书
医师定期考核实施方案
2014/05/07 职场文书
党员承诺书怎么写
2014/05/20 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
关于法制教育的宣传语
2015/07/13 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
Nginx的gzip相关介绍
2022/05/11 Servers