【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!")

输出报告:

 

目录
打赏
0
0
0
0
29
分享
相关文章
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
161 83
python语言采集淘宝商品详情数据,json数据示例返回
通过淘宝开放平台的API接口,开发者可以轻松获取商品详情数据,并利用这些数据进行商品分析、价格监控、库存管理等操作。本文提供的示例代码和JSON数据解析方法,可以帮助您快速上手淘宝商品数据的采集与处理。
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
129 1
抓取和分析JSON数据:使用Python构建数据处理管道
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
113 1
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
89 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
46 1
使用Python发送包含复杂JSON结构的POST请求
使用Python发送包含复杂JSON结构的POST请求
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
Python 输入输出与文件处理: io、pickle、json、csv、os.path 模块详解
71 0
python序列化: json & pickle & shelve 模块
python序列化: json & pickle & shelve 模块
比较一下 Python、C、C 扩展、Cython 之间的差异
比较一下 Python、C、C 扩展、Cython 之间的差异
94 0

热门文章

最新文章