Использование 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
. Как вызывающий может узнать разницу между ними?