python 小工具----文本diff比较生成html

前言

现在网上有很多好用的在线文本diff工具,个人也经常使用,但最近头疼的发现,在线diff有个很明显的短板就是不支持超大文本数据的diff,比如我的数据多达到15万行。在线diff工具基本复制过去就卡死了。不过还好,有python,以下几句代码就解决了我的问题

代码

#!/usr/bin/python
#coding=utf8
import difflib
f = open("gxte.json","r")
text1 = f.read()
f = open("gxzs.json","r")
text2 = f.read()
text1_lines = text1.splitlines()  
text2_lines = text2.splitlines()
d = difflib.HtmlDiff()
html=d.make_file(text1_lines, text2_lines,"gxte.json", "gxzs.json", context=True)  #context不填默认显示全部的数据。那就太大了,填了true默认显示5行数据
html=html.encode()
fp=open("diff.html","w+b")
fp.write(html)
fp.close()
展示的结果

如图:非常的友好又明显的diff图,有浅颜色代表有diff,而且,支持15万行,还不卡。
在这里插入图片描述

发布了34 篇原创文章 · 获赞 38 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/LANNY8588/article/details/93194499
今日推荐