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脚本实现xls(xlsx)转成csv
Apr 10 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
Python爬取网易云音乐热门评论
Mar 31 Python
Python入门之三角函数atan2()函数详解
Nov 08 Python
详解Django解决ajax跨域访问问题
Aug 24 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
Python过滤txt文件内重复内容的方法
Oct 21 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
pandas中ix的使用详细讲解
Mar 09 Python
python+gdal+遥感图像拼接(mosaic)的实例
Mar 10 Python
解决pytorch下出现multi-target not supported at的一种可能原因
Feb 06 Python
Python 实现Mac 屏幕截图详解
Oct 05 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
codeigniter数据库操作函数汇总
2014/06/12 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP 无限级分类
2017/05/04 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
小型js框架veryide.librar源代码
2009/03/05 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
使用typescript构建Vue应用的实现
2019/08/26 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
Python列表推导式的使用方法
2013/11/21 Python
python实现360的字符显示界面
2014/02/21 Python
python如何为创建大量实例节省内存
2018/03/20 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
简单了解django orm中介模型
2019/07/30 Python
python实现人机猜拳小游戏
2020/02/03 Python
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
高中生学习的自我评价
2013/12/14 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
机关办公室岗位职责
2014/04/16 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
稽核岗位职责范本
2015/04/13 职场文书
中学教师教学工作总结
2015/08/13 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript