我有一个充满脚本的目录(假设project/bin
)。我也有一个图书馆project/lib
,希望脚本自动加载它。这是我通常在每个脚本顶部使用的内容:
#!/usr/bin/python
from os.path import dirname, realpath, sep, pardir
import sys
sys.path.append(dirname(realpath(__file__)) + sep + pardir + sep + "lib")
# ... now the real code
import mylib
这有点麻烦,丑陋,必须粘贴在每个文件的开头。有一个更好的方法吗?
确实,我希望如此平稳:
#!/usr/bin/python
import sys.path
from os.path import pardir, sep
sys.path.append_relative(pardir + sep + "lib")
import mylib
甚至更好的是,当我的编辑器(或其他拥有提交访问权限的人)决定在其清理过程中对导入进行重新排序时,这些不会中断:
#!/usr/bin/python --relpath_append ../lib
import mylib
那不会直接移植到非posix平台,但是可以保持干净。