reflection as in Java: how to create an instance from a classname

guss guillaume.aubert at gmail.com
Mon Jan 5 17:29:47 CET 2009


I cannot find a satisfying answer to this question on the web so let's
try here.

My problem is the following, I would like to instantiate some object
from a configuration file that would contain class names like for
example classname=org.common.resource.MyResource.
Here my resource is the class to instanciate and it is in the module
resource that is in a package hierachy.

In fact I would like to do something very similar to the Java:

klass = Class.forname("org.common.resource.MyResource")

instance = klass.newInstance()

The second line is easy once I have a classobj but I have some
problems to find the right recipe for getting it.

I know how to create a class from scratch with new.classobj but how do
you get a class object and then create an object ?

I would like a recipe working for all cases (whatever the module is
not the local one ...)

Maybe I should follow another idiom I don't know ?

Thanks your help

                                       Guillaume



More information about the Python-list mailing list