how to pass attribute name via sys.argv
Gilles Lenfant
gilles.no.lenfant.spam at ingeniweb.com
Thu Jan 27 07:57:02 EST 2005
Felix Hebeler a écrit :
> Hi all,
> I am doing some Python scripting for a while, but I'm not too deep into
> it yet. So I have a problem I can't solve.
>
> I need to call an object attribute:
>
> value = object.attrName[0]
>
> the problem is, that the attribute name can only be specified at runtime.
>
> So what I have is something like
>
> >>> attrName = sys.argv[1]
> >>> attrName
> 'cellsize'
>
> and I need to pass it on so I can call
>
> value = object.cellsize[0]
>
>
> Can this be done using Python?
>
> Thanks for any hints
>
> Cheers
> Felix
The builtin "setattr" is your friend.
"object" is now a reserved (builtin) name, use "objekt" instead.
class Foo(object):
pass
objekt = Foo()
attrName = sys.argv[1]
values = ['foo', 'bar', 'whatever']
setattr(objekt, attrName, values)
HTH
--
Gilles
More information about the Python-list
mailing list