Ответ 1
imp.load_source
требуется имя файла пути/файла модуля для импорта, вы должны изменить свой источник ниже:
mod = imp.load_source("bar","./foo/bar.py")
Я пытаюсь импортировать модуль из другого каталога динамически. Я следую ответу этого вопроса. У меня есть модуль с именем bar в каталоге с именем foo. Основной script будет запущен в родительском каталоге для foo.
Вот код, который у меня есть до сих пор в моем тесте script (который запущен в родительском каталоге для foo)
#test.py
import imp
mod = imp.load_source("bar","./foo")
и код для bar.py
#bar.py
class bar:
def __init__(self):
print "HELLO WORLD"
Но когда я запускаю test.py, я получаю эту ошибку:
Traceback (most recent call last):
File "C:\Documents and Settings\user\Desktop\RBR\test.py", line 3, in <module>
mod = imp.load_source("bar","./foo")
IOError: [Errno 13] Permission denied
imp.load_source
требуется имя файла пути/файла модуля для импорта, вы должны изменить свой источник ниже:
mod = imp.load_source("bar","./foo/bar.py")
Появляется как простая проблема - проверьте __file__
или cwd... Возможно, сначала попробуйте абсолютный путь к файлу? - Этот пример примера может помочь.