__init__.pyPython 源目录中的用途是什么?
__init__.pyPython
它曾经是包的必需部分(旧的,3.3 之前的“常规包”,而不是较新的 3.3+“命名空间包”)。
这是文档。
Python 定义了两种类型的包,常规包和命名空间包。常规包是 Python 3.2 及更早版本中存在的传统包。常规包通常实现为包含__init__.py文件的目录。当一个常规包被导入时,这个__init__.py文件被隐式执行,它定义的对象被绑定到包命名空间中的名字。该__init__.py文件可以包含任何其他模块可以包含的相同 Python 代码,并且 Python 会在导入模块时为其添加一些附加属性。
__init__.py
但只需单击链接,它包含一个示例、更多信息以及对命名空间包的解释,即没有__init__.py.
命名文件__init__.py用于将磁盘上的目录标记为 Python 包目录。如果你有文件
mydir/spam/__init__.py mydir/spam/module.py
并且mydir在您的路径上,您可以将代码导入module.py为
mydir
module.py
import spam.module
或者
from spam import module
如果您删除该__init__.py文件,Python 将不再在该目录中查找子模块,因此尝试导入该模块将失败。
该__init__.py文件通常是空的,但可用于以更方便的名称导出包的选定部分,保存方便的函数等。在上面的示例中,可以访问 init 模块的内容为
import spam