我有这样的目录结构......
dir/
build.py
dir2
dir3/
packages.py
现在build.py
需要packages.py
——并注意这dir2
不是一个包。
那么什么是最好的packages.py
加载方式build.py
(目录结构不能改变)
编辑
sys.path.append
解决方案似乎不错——但有一件事——我需要很少使用该文件packages.py
——并保留一个sys.path
包含一个很少使用但位于最前面的目录的目录——这是最好的事情吗?
编辑二
我认为imp
解决方案是最好的。
import imp
packages = imp.load_source('packages', '/path/to/packages.py')
编辑三
对于 Python 3.x
请注意,imp.load_source
和其他一些功能已被弃用。所以你应该使用imp.load_module
今天。
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()