__init__.py 是干什么用的?

问题描述

它曾经是包的必需部分(旧的,3.3 之前的“常规包”,而不是较新的 3.3+“命名空间包”)。

这是文档。

Python 定义了两种类型的包,常规包和命名空间包。常规包是 Python 3.2 及更早版本中存在的传统包。常规包通常实现为包含__init__.py文件的目录。当一个常规包被导入时,这个__init__.py文件被隐式执行,它定义的对象被绑定到包命名空间中的名字。该__init__.py文件可以包含任何其他模块可以包含的相同 Python 代码,并且 Python 会在导入模块时为其添加一些附加属性。

但只需单击链接,它包含一个示例、更多信息以及对命名空间包的解释,即没有__init__.py.

命名文件__init__.py用于将磁盘上的目录标记为 Python 包目录。如果你有文件

mydir/spam/__init__.py
mydir/spam/module.py

并且mydir在您的路径上,您可以将代码导入module.py

import spam.module

或者

from spam import module

如果您删除该__init__.py文件,Python 将不再在该目录中查找子模块,因此尝试导入该模块将失败。

__init__.py文件通常是空的,但可用于以更方便的名称导出包的选定部分,保存方便的函数等。在上面的示例中,可以访问 init 模块的内容为

import spam

解决方法

__init__.pyPython 源目录中的用途是什么?

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...