2

Possible Duplicate:
Dynamic module import in Python

I have a list of modules, like so:

modules = ['ModuleA', 'ModuleB', 'ModuleC']

Each .py for the module resides in a subdirectory that I've added to the include paths. What I'm looking for is a way to load the modules and build a list of references to said loaded modules.

Community
  • 1
  • 1
Fuzz
  • 51
  • 5

2 Answers2

2

This should answer your question:

references = map(__import__, modules)

or if you prefer dictionary with modules' names as keys:

references = dict(zip(modules, map(__import__, modules)))

Does it answer your question?

Tadeck
  • 125,377
  • 26
  • 148
  • 197
1
import importlib

imports = {}

for i in modules:
   imports[i] = importlib.import_module(i)

Watch out for ImportErrors.

Noufal Ibrahim
  • 69,212
  • 12
  • 131
  • 165
  • Nice solution, but works only since 3.1 (as [stated within documentation](http://docs.python.org/dev/library/importlib.html#module-importlib)). – Tadeck Dec 28 '11 at 05:32