我有一个这样的项目:
project/
foo/
other.py
bar/
baz.py
如果我编写如下代码:
import sys
sys.path.insert(0, '../foo')
from foo import other
这是行不通的。但是,如果我将 foo 移动到 bar 目录中,它就可以工作。我意识到这是错误的代码风格,但如何搜索此相对路径以及文档在哪里定义它?
最佳答案
from foo import other
会将 foo
附加到 sys.path
中的每个目录。所以它正在寻找 ../foo/foo/other.py
,但实际路径只是 ../foo/other.py
。
您只需将 ..
插入到 sys.path
中,然后它就会查找 ../foo/other.py
。或者,如果您只想在路径中包含该目录,只需使用 import other
,而不使用 from foo
。
关于python - 如果您的 sys.path 使用相对目录,python 会在哪里查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57502569/