小编典典

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

all

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

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


阅读 71

收藏
2022-05-09

共1个答案

小编典典

from ..subpkg2 import mod

根据 Python 文档:在包层次结构中,使用两个点,正如import
语句
文档所说:

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

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

2022-05-09