gpt4 book ai didi

python - 努力将相对路径附加到我的 sys.path

转载 作者:太空狗 更新时间:2023-10-29 21:13:47 30 4
gpt4 key购买 nike

所以有很多非常相似的问题,但似乎没有一个答案能满足我的要求。

本质上,我在命令行中使用绝对目录运行 python 脚本。
在这个文件本身中,我想导入一个模块/文件,我目前使用绝对路径来执行此操作 (sys.path.append(/....)
但我想使用相对于脚本本身的相对路径。
我似乎能做的就是附加一个相对于我当前工作目录的路径。

我该怎么做?

最佳答案

以下两种替代可能性适用于 Python 版本 2 和 3。选择您喜欢的方式。涵盖所有用例。

例子1

main script:      /some/path/foo/foo.py
module to import: /some/path/foo/bar/sub/dir/mymodule.py

加入foo.py

import sys, os
sys.path.append(os.path.join(sys.path[0],'bar','sub','dir'))
from mymodule import MyModule

例子2

main script:      /some/path/work/foo/foo.py
module to import: /some/path/work/bar/mymodule.py

加入foo.py

import sys, os
sys.path.append(os.path.join(os.path.dirname(sys.path[0]),'bar'))
from mymodule import MyModule

说明

  • sys.path[0] 在两个示例中都是 /some/path/foo
  • os.path.join('a','b','c')'a/b/c'
  • 更便携
  • os.path.dirname(mydir)os.path.join(mydir,'..')
  • 更便携

另见

关于导入模块的文档:

关于python - 努力将相对路径附加到我的 sys.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21259070/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com