Voglio creare un oggetto dinamico (all'interno di un altro oggetto) in Python e quindi aggiungere attributi ad esso.
Provai:
obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')
ma questo non ha funzionato.
Qualche idea?
modificare:
Sto impostando gli attributi da un forciclo che scorre attraverso un elenco di valori, ad es
params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
obj.a.p # where p comes from for loop variable
Nell'esempio di cui sopra che avrei avuto obj.a.attr1, obj.a.attr2, obj.a.attr3.
Ho usato la setattrfunzione perché non sapevo come fare obj.a.NAMEda un forciclo.
Come impostare l'attributo in base al valore pdell'esempio sopra?
a = object()e ne hai bisogno obj.a = object(). Ancora una volta sto parlando dell'esempio, nel tuo codice reale un oggetto all'interno di un oggetto potrebbe essere utile.