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之有容乃大的list(2)
Sep 15 Python
介绍Python中的__future__模块
Apr 27 Python
python在控制台输出进度条的方法
Jun 20 Python
Python处理XML格式数据的方法详解
Mar 21 Python
python issubclass 和 isinstance函数
Jul 25 Python
python 多进程共享全局变量之Manager()详解
Aug 15 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
通过python调用adb命令对App进行性能测试方式
Apr 23 Python
python 实现PIL模块在图片画线写字
May 16 Python
通过代码简单了解django model序列化作用
Nov 12 Python
pyx文件 生成pyd 文件用于 cython调用的实现
Mar 04 Python
Django 如何实现文件上传下载
Apr 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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
php创建无限级树型菜单
2015/11/05 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
计算机专业学生的自我评价
2013/12/15 职场文书
大学毕业生自荐书怎么写?
2014/01/06 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
入党申请自荐书范文
2014/02/11 职场文书
课例研修方案
2014/05/31 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
SpringBoot整合Minio文件存储
2022/04/03 Java/Android