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
  • 132,510
  • 28
  • 152
  • 198
1
import importlib

imports = {}

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

Watch out for ImportErrors.

Noufal Ibrahim
  • 71,383
  • 13
  • 135
  • 169
  • 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