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 for
ciclo 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 setattr
funzione perché non sapevo come fare obj.a.NAME
da un for
ciclo.
Come impostare l'attributo in base al valore p
dell'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.