On 12/11/2009 8:26 PM, Jan Mach wrote:
Hi everybody,
I am currently solving the following problem and I am stuck. I am trying
to create instance of the class of variable name. I know, that the
following works:

if (something):
     classToUse = C1
else:
     classToUse = C2

o = classToUse()

,but this is not what I want. I need to have the class name in the string and 
then
instantiate it:

(this does not work of course)
classToUse = "C1"
o = classToUse()

It is because I don`t know at the moment what the name of the class will be, I 
will
load it from the file or pass it as argument. Does anyone know what is the 
correct syntax
to accomplish this?

Make a dict of name->class, otherwise it's a security issue. A malicious user may pass a class you never wish to instantiate (with eval, it's even worse, malicious user can execute arbitrary code).
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to