Сравнение
before == after покажет, равны ли объекты. DeepDiff покажет, где именно они отличаются, включая старое и новое значения.
from deepdiff import DeepDiff
before = {"user": {"name": "Egor", "level": 3}}
after = {"user": {"name": "Egor", "level": 4}}
print(DeepDiff(before, after))
Результат:
{
"values_changed": {
"root['user']['level']": {
"old_value": 3,
"new_value": 4
}
}
}
Библиотека находит изменения значений и типов, добавленные и удалённые элементы. Работает со вложенными словарями, списками и другими объектами.
Полезно для сравнения ответов API, конфигураций и результатов обработки данных. Можно исключать отдельные поля через
exclude_paths и игнорировать порядок элементов через ignore_order=True.Установка:
pip install deepdiffДокументация - https://zepworks.com/deepdiff/current/