Начну с того, что много лет программируя на др. языках ни разу не писал на python. поэтому где то в терминах могут быть ошибки, опечатки...

Суть задачи. Где-то (в текстовом файле, БД, XML...) хранятся имена модулей, которые нужно подгружать в том или ином случае.

Допустим в какой то момент нужно подгрузить модуль (или класс: надеюсь не ошибся в названии ))) ) A, а в другой раз при иных обстоятельствах модуль В.

Вопрос:
Возможна ли реализация подобного на python?
Как?

ЗЫ: приложение изначально не знает какие вообще модули существуют.
ЗЫЗЫ: Гуглить буду, но от вашей помощи не откажусь. Спс...
import <module_name> где надо
разве нет?

Если в переменной foo есть имя модуля, то подгрузить можно так:

__import__(foo, globals(), locals())

Сложные конструкции типа import mod1.mod2 или from mod1 import mod2 также можно делать через __import__ - читайте google, там про это, думаю, много написано :)

Last edited Aug. 2, 2009, 4:51 a.m.

еще можно:
module_name = 'foo.bar'
module = __import__(module_name)
a, b = module.a, module.b

ну это если знаешь какие переменные там есть и только они и нужны.