我正在为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'}
这对我来说很有意义;我想从根($
)开始,递归地(..
)查找title==“紫色是最佳颜色”的所有(*
)项(@
)。而且很管用!在
但是我尝试了类似于in
运算符的方法:
嗯?似乎是一个自然的方法来改变这种状况,但它并不完全正确。在
在手册中,我读到in
检查表达式左侧的结果是否在数组、对象或字符串中,并且在objects中,键是否匹配。(也许这是我的问题,但不太清楚这意味着什么)。我认为我当前的@
确实是一个字符串。。。?在
综上所述,我在这里还缺什么呢?在
是个虫子。现在修好了。该修复可通过github(git clonehttps://github.com/adriank/ObjectPath.git)获得。在
有趣的是,显式地将
Purple
转换为字符串起作用:在
ObjectPath
问题跟踪程序中创建了问题:相关问题 更多 >
编程相关推荐