Quero criar um objeto dinâmico (dentro de outro objeto) em Python e depois adicionar atributos a ele.
Eu tentei:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
mas isso não funcionou.
Alguma ideia?
editar:
Estou definindo os atributos de um for
loop que percorre uma lista de valores, por exemplo
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
No exemplo acima, gostaria de obter obj.a.attr1
, obj.a.attr2
, obj.a.attr3
.
Eu usei a setattr
função porque não sabia como fazer a obj.a.NAME
partir de um for
loop.
Como eu definiria o atributo com base no valor do p
exemplo acima?
a = object()
e precisa obj.a = object()
. Mais uma vez, estou falando do exemplo: no seu código real, um objeto dentro de um objeto pode ser útil.