python - 如果您的 sys.path 使用相对目录,python 会在哪里查找?

标签 python sys

我有一个这样的项目:

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/

相关文章:

python - 迭代列表和文件读取

python - 如何将 tensorflow.keras 模型移动到 GPU

Python子集和切片 [index, :] format

python - sys.exitfunc 在 python 中不工作

c - 错误: initializer element is not constant C

在 Ubuntu 18.04 中找不到 Python google.appengine.api

python - Scikit-Learn 与 Keras (Tensorflow) 用于多项逻辑回归

python - sys.stdout.flush() 无法与 python 和 electronjs 一起正常工作

python - PyQt 应用程序成功关闭,但进程没有被终止?

Python:为什么从线程调用的 `sys.exit(msg)` 不将 `msg` 打印到 stderr?