【python】使用difflib对比json差异

简介: 【python】使用difflib对比json差异

之前自己使用python写了方法进行对比json数据,这次使用difflib模块实现:

一个json数据存在text1.txt:

 

另一个json数据存在text2.txt:

1、导入difflib模块

import difflib

2、调用difflib中的HtmlDiff类,使用make_file方法对比两个文件内的数据

1.     m = difflib.HtmlDiff()
2. 
3.     result = m.make_file(read_file('/Users/xmly/Desktop/tools/05_jiami/test/logs/text1'),
4.                          read_file('/Users/xmly/Desktop/tools/05_jiami/test/logs/text2'))
5. #判断是否有变化,有变化则生产报告,没有则不生成报告
6. if result.count('<span class="diff_sub">') > 0 or result.count('<span class="diff_chg">') > 0 or result.count(
7. '<span class="diff_add">') > 0:
8. 
9. print("find diff")
10. 
11. with open('/Users/xmly/Desktop/tools/05_jiami/test/logs/result1.html', 'w', encoding='utf-8') as f:
12. 
13.             f.writelines(result)
14. 
15. else:
16. 
17. print("not find diff, no html report generate!")

输出报告:

 

相关文章
|
2月前
|
JSON 数据格式 Python
【2023最新】Matlab 保存JSON数据集文件,并用Python读取
本文介绍了如何使用MATLAB生成包含数据和标签的JSON格式数据集文件,并展示了用Python读取该JSON文件作为训练集的方法。
72 1
|
6天前
|
JSON API 数据格式
使用Python发送包含复杂JSON结构的POST请求
使用Python发送包含复杂JSON结构的POST请求
|
3天前
|
存储 缓存 API
比较一下 Python、C、C 扩展、Cython 之间的差异
比较一下 Python、C、C 扩展、Cython 之间的差异
8 0
|
4天前
|
XML JSON JavaScript
30天拿下Python之使用Json
30天拿下Python之使用Json
|
6天前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
|
2月前
|
存储 JSON JavaScript
python序列化: json & pickle & shelve 模块
python序列化: json & pickle & shelve 模块
|
2月前
|
存储 JSON JavaScript
使用 Python 将字典转换为 JSON
【8月更文挑战第27天】
21 2
|
2月前
|
JSON C语言 数据格式
Python导出隐马尔科夫模型参数到JSON文件C语言读取
Python导出隐马尔科夫模型参数到JSON文件C语言读取
21 1
|
25天前
|
存储 JSON API
Python编程:解析HTTP请求返回的JSON数据
使用Python处理HTTP请求和解析JSON数据既直接又高效。`requests`库的简洁性和强大功能使得发送请求、接收和解析响应变得异常简单。以上步骤和示例提供了一个基础的框架,可以根据你的具体需求进行调整和扩展。通过合适的异常处理,你的代码将更加健壮和可靠,为用户提供更加流畅的体验。
62 0
|
2月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
50 7
下一篇
无影云桌面