Python Chain getattr 作为字符串
import amara
def chain_attribute_call(obj, attlist):
"""
Allows to execute chain attribute calls
"""
splitted_attrs = attlist.split(".")
current_dom = obj
for attr in splitted_attrs:
current_dom = getattr(current_dom, attr)
return current_dom
doc = amara.parse("sample.xml")
print chain_attribute_call(doc, "X.Y.Z")
为了以字符串形式执行对象的链属性调用,我必须开发上面的笨拙代码片段。我很好奇是否有更聪明/更有效的解决方案。
import amara
def chain_attribute_call(obj, attlist):
"""
Allows to execute chain attribute calls
"""
splitted_attrs = attlist.split(".")
current_dom = obj
for attr in splitted_attrs:
current_dom = getattr(current_dom, attr)
return current_dom
doc = amara.parse("sample.xml")
print chain_attribute_call(doc, "X.Y.Z")
In oder to execute chain attribute calls for an object as a string, I had to develop the clumsy snippet above. I am curious if there would be a more clever / efficient solution to this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你还可以使用:
you could also use:
只是从 使用
reduce 的有用代码复制Python 中的 ()
:Just copying from Useful code which uses
reduce()
in Python: