如何导入上面目录中的 Python 类?

新手上路,请多包涵

我想从位于当前目录之上的目录中的文件中的类继承。

是否可以相对导入该文件?

原文由 user129975 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 281
2 个回答

from ..subpkg2 import mod

根据 Python 文档:在包层次结构中,使用两个点,如 导入语句 文档所述:

在指定要导入的模块时,您不必指定模块的绝对名称。当一个模块或包包含在另一个包中时,可以在同一个顶级包中进行相对导入,而不必提及包名。通过在 from 之后的指定模块或包中使用前导点,您可以指定向上遍历当前包层次结构的高度,而无需指定确切的名称。一个前导点表示进行导入的模块所在的当前包。 两个点表示向上一个封装级别。三个点向上两个级别,等等。因此,如果您从 --- 包中的模块执行 from . import mod pkg 包,那么您最终将导入 pkg.mod 如果您从 --- 中执行 from ..subpkg2 import mod pkg.subpkg1 您将导入 pkg.subpkg2.mod 。相关导入的规范包含在 PEP 328 中。

PEP 328 处理绝对/相对导入。

原文由 gimel 发布,翻译遵循 CC BY-SA 4.0 许可协议

import sys
sys.path.append("..") # Adds higher directory to python modules path.

原文由 Sepero 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题