2016-10-24 4 views
1

Использование the Python jmespath library, как я могу отличить «соответствует выражение, значение является None» против «не соответствовали выражению»?Обнаружение сбоя матча в JMESPath

jmespath.search функция возвращает в двух отдельных случаях None:

>>> import jmespath 

>>> foo = {'bar': {'lorem': 13, 'ipsum': None}} 
>>> repr(jmespath.search('bar.lorem', foo)) 
'13' 
>>> repr(jmespath.search('bar.ipsum', foo)) # Path matches, value None 
'None' 
>>> repr(jmespath.search('dolor', foo)) # Path does not match 
'None' 

Похоже, JMESPath API поиска возвращается в этих двух различных случаяхNone. Как вызывающий может узнать разницу между ними?

ответ

0

В настоящее время отображается Невозможно отличить от неудачи в сравнении с успехом, который возвращает None.

Существует open issue requesting that this should change, но на данный момент ответ, очевидно, «вы не можете сделать это с помощью jmespath».

 Смежные вопросы

  • Нет связанных вопросов^_^