我有一个充满脚本的目录(比如说 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
这不会直接移植到非 posx 平台,但是可以保持整洁。