2011-12-21 2 views
2

Предположим, я обеспечиваю модуль в командной строке и хотите импортировать его с помощью «чертенок» модуль:динамически импортировать подмодулях в питона

$ foo.py mod.a.b.c 

Что такое правильный способ сделать это?

Разделить «mod.a.b.c» и добавить каждый путь? Поведение «imp» не похоже на «импорт».

ответ

5

Данный модуль путь в виде строки (modulename), вы можете импортировать его с

module = __import__(modulename,fromlist='.') 

Обратите внимание, что __import__('mod.a.b.c') возвращает пакет mod, в то время как __import__('mod.a.b.c',fromlist='.') возвращает модуль mod.a.b.c.