我正在尝试动态导入其他目录中的模块。我正在按照this question的回答。我在名为foo的目录中有一个名为bar的模块。主脚本将在父目录中运行到foo。
这是我到目前为止在我的测试脚本中的代码(在父目录中运行到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
答案 0 :(得分:32)
imp.load_source
需要导入模块的路径名+文件名,您应该更改以下内容的来源:
mod = imp.load_source("bar","./foo/bar.py")
答案 1 :(得分:2)
似乎是一个简单的路径问题 - 检查__file__
或cwd ...也许先尝试绝对文件路径? - 这imp example可能会有所帮助。