How to instatiate a class of which the name is only known at runtime?
Peter Otten
__peter__ at web.de
Wed Sep 10 03:49:00 EDT 2003
Marco Herrn wrote:
> 1. How to do the import? I didn't find a way to give a string to the
> import statement.
>
> 2. How to write such code to instantiate?
Off topic: This thread like some others is spread over a few toplevel
entries in my newsreader (KNode 0.7.2). Is this a bug?
Anyway, putting it all together:
import sys
def getClass(classname, modulename):
try:
module = sys.modules[modulename]
except KeyError:
module = __import__(modulename)
return getattr(module, classname)
print getClass("WichmannHill", "random")
print getClass("WichmannHill", "random")()
Peter
More information about the Python-list
mailing list