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利用IPython提高开发效率
Aug 10 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
Sep 26 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
PyQt5实现下载进度条效果
Apr 19 Python
PyQt5实现拖放功能
Apr 25 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
Dec 07 Python
Python检测数据类型的方法总结
May 20 Python
Python调用C语言的实现
Jul 26 Python
Python算法中的时间复杂度问题
Nov 19 Python
Python自动化之UnitTest框架实战记录
Sep 08 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 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 7.0.2 正式版发布
2016/01/08 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
PPK 谈 JavaScript 的 this 关键字 [翻译]
2009/09/29 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
python抖音表白程序源代码
2019/04/07 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
canvas线条的属性详解
2018/03/27 HTML / CSS
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
美国最大的烧烤架和户外生活用品专业零售商:Barbeques Galore
2021/01/09 全球购物
邹越感恩父母演讲稿
2014/08/28 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技