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 登录网站详解及实例
Apr 11 Python
python生成二维码的实例详解
Oct 29 Python
简单了解OpenCV是个什么东西
Nov 10 Python
Python数据结构与算法之字典树实现方法示例
Dec 13 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
python实现学员管理系统
Feb 26 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
python批量解压zip文件的方法
Aug 20 Python
Django中的cookie和session
Aug 27 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
Jun 24 Python
Python连接mysql方法及常用参数
Sep 01 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 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 5.0 Pear安装方法
2006/12/06 PHP
PHP 5.3.0 安装分析心得
2009/08/07 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
基于Jquery的简单&简陋Tabs插件代码
2010/02/09 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
js中url对象化管理分析
2017/12/29 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
Python在图片中插入大量文字并且自动换行
2019/01/02 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
2020/04/10 Python
基于python实现模拟数据结构模型
2020/06/12 Python
python中yield的用法详解
2021/01/13 Python
智能室内花园:Click & Grow
2021/01/29 全球购物
《难忘的泼水节》教学反思
2014/02/27 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
婚礼新人答谢词
2015/01/04 职场文书