Quiero crear un objeto dinámico (dentro de otro objeto) en Python y luego agregarle atributos.
Lo intenté:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
Pero esto no funcionó.
¿Algunas ideas?
editar:
Estoy configurando los atributos de un forbucle que recorre una lista de valores, por ejemplo
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
En el ejemplo anterior me gustaría conseguir obj.a.attr1, obj.a.attr2, obj.a.attr3.
Usé la setattrfunción porque no sabía cómo hacerlo obj.a.NAMEdesde un forbucle.
¿Cómo establecería el atributo en función del valor de pen el ejemplo anterior?
a = object()y lo necesitas obj.a = object(). Nuevamente, estoy hablando del ejemplo, en su código real, un objeto dentro de un objeto podría ser útil.