使用Python进行文本信息的比较并生成HTML报告
来源:互联网 发布:蜂窝数据qq打不开 编辑:程序博客网 时间:2024/04/28 08:11
使用Python可以实现类似Linux中diff的命令,还能够输出HTML文档,这是我一直期待的。如果办公环境十分封闭,使用diff命令都难的时候,这无疑是很好的补充。
Python中的标准库有一个difflib,借助于这个库就能够实现所需的比较。
两个文件分别如下:
d1.py
1 from IPyimport IP
2
3 ip1 = IP('192.168.1.2')
4 ip2 = IP('11.12.13.14')
5
6 print("ip1 type: %s" % ip1.iptype())
7 print("ip2 type: %s" % ip2.iptype())
8
9 print("ip2 int value: %d" % ip2.int())
10 print("ip2 hex value: %s" % ip2.strHex())
11 print("ip2 bin value: %s" % ip2.strBin())
12
13 print("IP for 0x1234567: %s" % IP(0x1234567))
14
d2.py
1 from IPyimport IP
2
3 ip1 = IP('192.168.1.2')
4 ip2 = IP('11.33.13.14')
5
6 print("ip1 type: %s" % ip1.iptype())
7 print("ip2 type: %s" % ip2.iptype())
8
9 print("ip2 int value: %d" % ip1.int())
10 print("ip2 hex value: %s" % ip1.strHex())
11 print("ip2 bin value: %s" % ip1.strBin())
12
13 print("IP for 0x1234567: %s" % IP(0x1234567))
14
比较结果如下:
GreydeMac-mini:Chapter_02 greyzhang$ python pydiff.py
from IPy import IP
ip1 = IP('192.168.1.2')
- ip2 = IP('11.12.13.14')
? ^^
+ ip2 = IP('11.33.13.14')
? ^^
print("ip1 type: %s" % ip1.iptype())
print("ip2 type: %s" % ip2.iptype())
- print("ip2 int value: %d" % ip2.int())
? ^
+ print("ip2 int value: %d" % ip1.int())
? ^
- print("ip2 hex value: %s" % ip2.strHex())
? ^
+ print("ip2 hex value: %s" % ip1.strHex())
? ^
- print("ip2 bin value: %s" % ip2.strBin())
? ^
+ print("ip2 bin value: %s" % ip1.strBin())
? ^
print("IP for 0x1234567: %s" % IP(0x1234567))
差异被顺利比较出来,最终展示的格式也全都跟Linux的diff命令类似。
借用这个模块库还能够生成HTML文档,把前面的代码做一下修改如下:
1 import difflib
2
3 text1 = open('d1.py').readlines()
4 text2 = open('d2.py').readlines()
5
6 d = difflib.HtmlDiff()
7 fid =open('report.html','w')
8 fid.write(d.make_file(text1,text2))
9 fid.close()
程序运行后生成了一个html文件,运行的结果以及信息如下:
GreydeMac-mini:Chapter_02 greyzhang$ python pydiff.py
GreydeMac-mini:Chapter_02 greyzhang$ ls
c01.py d2.pypydiff.py
d1.py dns_parser.pyreport.html
使用浏览器打开生成的报告文件如下:
这报告的观感确实是非常好,看多了命令行再看这个感觉简直是精美绝伦!
- 使用Python进行文本信息的比较并生成HTML报告
- 使用python生成二维码的HTML文本
- Beyond Compare脚本:比较文件并生成html格式的差异报告
- python生成html报告
- 使用Python实现一个文本对比报告生成工具
- 使用Pyunit执行测试并生成HTML报告
- 使用OSWatcher收集系统信息并生成html
- 使用Python的HTMLParser解析HTML文本
- python利用unitest生成的报告如何输出为html
- 使用jsoup解析html的table中的文本信息
- 使用python进行文本分类
- 使用Python进行文本分类
- python进行文本处理生成redmine表格
- python里使用difflib库的Differ来比较文本
- python里使用difflib库的unified_diff来比较文本
- 强烈推荐:见过最全的获取数据库信息的脚本--生成html的报告
- python xpath 提取html 中使用<br>分割的文本
- 修改HTMLTestRunner模板,并将HtmlTestRunner进行二次封装,使报告生成的更方便
- 《风之旅人》游戏设计思想一
- 【测试】
- 题目1102:最小面积子矩阵
- 题目1103:二次方程计算器
- Linux系统安装、卸载Anaconda要点
- 使用Python进行文本信息的比较并生成HTML报告
- MFC Windows程序设计--计时器和空闲处理
- 转载的socks4 socks5 rfc1928一大堆
- JavaScript历史
- Socket接口原理及用C#语言实现
- 题目1104:整除问题
- bzoj2219 数论之神
- soa面向服务--案例(上)
- 《风之旅人》游戏设计思想二