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 流程控制实例代码
Sep 25 Python
用Python编写一个简单的俄罗斯方块游戏的教程
Apr 03 Python
pycharm安装图文教程
May 02 Python
python中in在list和dict中查找效率的对比分析
May 04 Python
Django学习教程之静态文件的调用详解
May 08 Python
Flask框架配置与调试操作示例
Jul 23 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
使用 Django Highcharts 实现数据可视化过程解析
Jul 31 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 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
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
Laravel 5.5 异常处理 & 错误日志的解决
2019/10/17 PHP
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
2018/08/10 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
两只小狮子教学反思
2014/02/05 职场文书
接待员岗位责任制
2014/02/10 职场文书
老师对学生的寄语
2014/04/09 职场文书
党员民主生活会整改措施
2014/09/26 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
月考总结与反思
2015/10/22 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
公司与个人合作协议书
2016/03/19 职场文书
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS