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万行,还不卡。
在这里插入图片描述

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值