标签: objectpath

ObjectPath:"in"运算符出现问题

我正在学习python的ObjectPath,并且已经找到了,例如,如何对属性进行精确匹配:

>>> import objectpath
>>>
>>> tree = objectpath.Tree({'doc': {'title': 'Purple is Best Color'}})
>>>
>>> tree.execute('$..*[@.title is "Purple is Best Color"]').next()
{'title': 'Purple is Best Color'}
Run Code Online (Sandbox Code Playgroud)

这对我来说很有意义; 我想从root($)开始,递归地(..)找到所有(*)项目(@),其中title =="紫色是最佳颜色".它的工作原理!

但后来我尝试与in运营商类似的东西:

>>> tree.execute('$..*["Purple" in @.title]').next()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
Run Code Online (Sandbox Code Playgroud)

咦?看起来像是调整条件的自然方式,但它并不完全正确.

在手册中,我读到了in 检查表达式左侧的结果是否在数组,对象或字符串中,以及在对象中是否匹配键.(也许那是我的问题,但不确定这意味着什么).我认为我现在@的确是一个字符串...?

考虑到上述情况,我可以在这里找到什么?

python objectpath

4
推荐指数
1
解决办法
519
查看次数

标签 统计

objectpath ×1

python ×1