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")
Bir öznitelik için zincir öznitelik çağrıları yürütmek üzere bir dize olarak, yukarıdaki sakız snippet'ini geliştirmek zorundaydım. Bunun daha akıllı/verimli bir çözümü olup olmayacağını merak ediyorum.Python Zincir dizgesi bir dizgi olarak
Büyük snipplet! Ne yazık ki sunucum debian lenny ve python 2.5 ile çalışırken 2.6 gerektirir gerektirir :( – Hellnar
@hellinar: 'azaltma 'python2.5 içinde yerleşik bir işlevdir. – SilentGhost
@Hellnar: Python 2.5' küçült 'vardır, hariç – kennytm