En utilisant the Python jmespath
library, comment puis-je distinguer "correspond à l'expression, la valeur est None
" par rapport à "n'a pas réussi à correspondre à l'expression"?Détecter l'échec de correspondance dans JMESPath
La fonction retourne jmespath.search
None
dans deux cas distincts:
>>> 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'
Il semble que la recherche JMESPath API retours None
dans ces deux cas distincts. Comment l'appelant peut-il connaître la différence entre eux?