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 21 Python
python实现的二叉树算法和kmp算法实例
Apr 25 Python
python的类方法和静态方法
Dec 13 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
Python实现Dijkstra算法
Oct 17 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
Mar 11 Python
Python实现aes加密解密多种方法解析
May 15 Python
通过实例解析Python文件操作实现步骤
Sep 21 Python
Python生成九宫格图片的示例代码
Apr 14 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
Session保存到数据库的php类分享
2011/10/24 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
从零开始搭建vue移动端项目到上线的步骤
2018/10/15 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
python生成密码字典的方法
2018/07/06 Python
python的turtle库使用详解
2019/05/10 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
怎样声明子类
2013/07/02 面试题
金士达面试非笔试
2012/03/14 面试题
2014信息公开实施方案
2014/02/22 职场文书
本科毕业生求职信
2014/06/15 职场文书
公司员工体检通知
2015/04/21 职场文书
英语通知范文
2015/04/22 职场文书
篮球赛新闻稿
2015/07/17 职场文书
聘任书的格式及模板
2019/10/28 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js