dynamically created names / simple problem

Robert Bossy Robert.Bossy at jouy.inra.fr
Tue Mar 25 11:12:05 EDT 2008


Jules Stevenson wrote:
>
> Hello all,
>
> I'm fairly green to python and programming, so please go gently. The 
> following code
>
> for display in secondary:
>
> self.("so_active_"+display) = wx.CheckBox(self.so_panel, -1, "checkbox_2")
>
> Errors, because of the apparent nastyness at the beginning. What I’m 
> trying to do is loop through a list and create uniquely named wx 
> widgets based on the list values. Obviously the above doesn’t work, 
> and is probably naughty – what’s a good approach for achieving this?
>
Hi,

What you're looking for is the builtin function setattr:
http://docs.python.org/lib/built-in-funcs.html#l2h-66

Your snippet would be written (not tested):

for display in secondary:

setattr(self, "so_active_"+display, wx.CheckBox(self.so_panel, -1, 
"checkbox_2"))




RB



More information about the Python-list mailing list