Цепочка Python 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")

В Одере для выполнения цепочечного атрибута призывает к объекту как к строке, я должен был разработать неуклюжий отрывок выше. Мне любопытно, если было бы более умное / эффективное решение этого.

6
задан SilentGhost 20 July 2010 в 09:17
поделиться