DeepDiff regex_exclude_paths фильтрует все, а не только тот путь, который мне нужен [дубликат]Python

Программы на Python
Ответить
Anonymous
 DeepDiff regex_exclude_paths фильтрует все, а не только тот путь, который мне нужен [дубликат]

Сообщение Anonymous »

Я использую DeepDiff с ignore_regex_paths="['seqid']" для исключения определенных полей, но замечаю, что исключаются все, а не только те поля, которые я хочу исключить. Реальные различия за пределами исключаемого пути не сообщаются.
Вот мой код:

Код: Выделить всё

from deepdiff import DeepDiff

data1 = {
"record1": {"seqid": "ABC123", "value": 1},
"record2": {"seqid": "DEF456", "value": 2}
}

data2 = {
"record1": {"seqid": "XYZ789", "value": 3},  # value changed from 1 to 3
"record2": {"seqid": "UVW321", "value": 4}   # value changed from 2 to 4
}

diff = DeepDiff(data1, data2, exclude_regex_paths="['seqid']")
print(diff) # {} - Empty output, but value differences should be shown
Я ожидал, что при этом будут исключены только различия «seqid», но при этом будут показаны различия в значениях, но я получаю пустой diff. Что я делаю неправильно? Я использую DeepDiff версии 8.0.1.
К сожалению, в документации не определен синтаксис пути, который нужно использовать.
Я нашел связанный , обратный вопрос: регулярное выражение DeepDiff ignore_paths не фильтрует пути

Подробнее здесь: https://stackoverflow.com/questions/791 ... ath-i-want
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»