pip install deepdiff
主要类描述
DeepDiff:字典、可迭代对象、字符串和其他对象的深度差异。它将递归地查找所有更改。
DeepSearch:在其他对象中搜索对象。
DeepHash:基于对象的内容哈希任何对象。
demo
ignore_order 表示忽略顺序的不一致
from dataclasses import field
from deepdiff import DeepDiff
a = {"a":0,"b":[{"v":"name","age":100}]}
b = {"a":0.1,"b":[{"v":"name1","age":100}]}
diff = DeepDiff(a,b,ignore_order=True)
detail = ''
for key,value in diff.items():
for detail_key, detail_value in value.items():
if detail_key.replace('root','').count('[')==1:
fieldname = detail_key.replace('root','').replace('[','').replace(']','').replace('\'','')
print(fieldname)
else:
fieldnames = detail_key.replace('root','').replace('[','').replace(']','').split('\'')
fieldname= ''
for item in fieldnames:
if item !='':
fieldname+=item+'>'
print(fieldname[0:-1])
print(detail_value)