私はこのようなディレクトリ構造を持っています...
dir/
build.py
dir2
dir3/
packages.py
ここでbuild.py
必要なのは、パッケージではないpackages.py
ことに注意してください。dir2
packages.py
では、ロードするための最良の方法は何ですかbuild.py
(ディレクトリ構造は変更できません)
編集
解決策はsys.path.append
良いようですが、packages.py
ファイルをめったに使用する必要sys.path
がなく、めったに使用されないが先頭にあるディレクトリを保持する必要があることが1つあります。
編集Ⅱ
imp
解決が一番だと思います。
import imp
packages = imp.load_source('packages', '/path/to/packages.py')
編集Ⅲ
Python 3.x の場合
imp.load_source
およびその他の機能は非推奨になっていることに注意してください。したがって、imp.load_module
today を使用する必要があります。
fp, pathname, description = imp.find_module('packages', '/path/to/packages.py')
try:
mod = imp.load_module('packages', fp, pathname, description)
finally:
# since we may exit via an exception, close fp explicitly
if fp:
fp.close()