如何导入上面目录中的Python类?
我想从当前目录上方目录中的文件中的类继承。
是否可以相对导入该文件?
-
from ..subpkg2 import mod
根据Python文档:在包层次结构中,请使用两个点,如import语句doc所述:
指定要导入的模块时,不必指定模块的绝对名称。当一个模块或程序包包含在另一个程序包中时,可以在同一顶部程序包中进行相对导入,而不必提及程序包名称。之后,通过在指定的模块或程序包中使用前导点,
from
可以指定在不指定确切名称的情况下遍历当前程序包层次结构的高度。一个前导点表示进行导入的模块所在的当前包。
两点表示一个包装级别 。三个点在两个级别上,依此类推。因此,如果from . import mod
从pkg
包中的模块执行,则最终将导入pkg.mod
。如果您from ..subpkg2 import mod
从内部执行,pkg.subpkg1
则将导入pkg.subpkg2.mod
。PEP
328中包含相对进口的规范。PEP 328处理绝对/相对进口。