getting modules optionally

Hans Nowak wurmy at
Thu Nov 22 01:46:29 CET 2001

Giorgi Lekishvili wrote:

> What I can not do is to import the module, if I have its name as
> string.
>      modname='ThisModule'
> Of course, the code below doesn't work:
>      from MyPackage.modname import *
> The question: is there something like eval function, which could
> transfer the string as the real module name? In other words, how have
> I to treat the modname to make this code running?

Well, you can use exec:

  exec "from MyPackage.%s import *" % (modname)

Since "from .. import *" is usually not recommended, you might want to
use __import__:

  modname = __import__("MyPackage."+modname)


More information about the Python-list mailing list