来自.导入XXXX

jlc*_*lin 6 python

在我的一个Python包中,该__init__.py文件包含该语句

from . import XXXX
Run Code Online (Sandbox Code Playgroud)

什么是"." 这意味着什么 我通过查看另一个包来获得这种技术,但我不明白这意味着什么.

谢谢!

utd*_*mir 11

它相对重要.来自:http://docs.python.org/py3k/reference/simple_stmts.html#the-import-statement

指定要导入的模块时,不必指定模块的绝对名称.当模块或包包含在另一个包中时,可以在同一顶层包中进行相对导入,而不必提及包名.通过在指定的模块或包中使用前导点,可以指定在不指定确切名称的情况下遍历当前包层次结构的高度.

一个前导点表示存在导入模块的当前包.两个点表示一个包级别.三个点是两个级别,等等.因此,如果您from . import mod从pkg包中的模块执行 ,那么您将最终导入pkg.mod.如果..subpkg2 import mod从pkg.subpkg1中执行,则将导入pkg.subpkg2.mod.相对进口的规范包含在PEP 328中.