別のディレクトリからモジュールを動的にインポートしようとしています。 この質問 からの回答をフォローしています。 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
imp.load_source
インポートするには、モジュールのパス名+ファイル名が必要です。ソースを以下のソースに変更する必要があります。
mod = imp.load_source("bar","./foo/bar.py")
単純なパスの問題のようです-__file__
またはcwdを確認してください...最初に絶対ファイルパスを試してみてください。 -これ impの例 役立つかもしれません。