python3对比两个json文件1.json和2.json,其中1.json和2.json中有litho和baselin两个数组,每个数组中存的是一些case名,对比 1.json和2.json的case名是否一样 并将不同的case名分别打出来
时间: 2024-09-25 11:02:23 浏览: 36
Python库 | litho1pt0-0.6.3.tar.gz
在Python 3中,你可以使用`json`模块读取JSON文件,并利用集合数据结构来方便地比较两个文件中`litho`和`baselin`数组的case名。下面是一个简单的步骤:
1. 首先,你需要导入必要的库:
```python
import json
```
2. 然后,定义一个函数来读取并解析JSON文件,然后获取case名列表:
```python
def get_case_names(file_path):
with open(file_path, 'r') as f:
data = json.load(f)
case_lists = [data.get('litho', []), data.get('baselin', [])]
return set(sum(case_lists, [])) # 合并两组case名并去重
```
3. 对比两个文件的case名:
```python
def compare_files(file1_path, file2_path):
case_names_1 = get_case_names(file1_path)
case_names_2 = get_case_names(file2_path)
common_cases = case_names_1 & case_names_2 # 相同case名的集合
unique_to_file1 = case_names_1 - case_names_2 # 只在file1中存在的case名
unique_to_file2 = case_names_2 - case_names_1 # 只在file2中存在的case名
print("共同的case名:", list(common_cases))
print("只在file1中存在的case名:", list(unique_to_file1))
print("只在file2中存在的case名:", list(unique_to_file2))
# 调用函数比较1.json和2.json
compare_files('1.json', '2.json')
```
阅读全文