关于python:__init__.py的目的是什么?

What is the purpose of the __init__.py?

本问题已经有最佳答案,请猛点这里访问。

创建python包时,我被告知创建一个名为init.py的空白文件。我不明白的是为什么我需要创建这个文件。distutils构建脚本不修改它,所以五次构建之后它仍然是空白的。它的目的是什么?


它向python发出一个信号,表明文件夹是一个包,而不仅仅是一个文件夹。它还包含初始化代码,当包被import转换成脚本时,该代码会运行。

有关更多信息,请参阅相关文档。最相关的摘录:

The __init__.py files are required to make Python treat the
directories as containing packages; this is done to prevent
directories with a common name, such as string, from unintentionally
hiding valid modules that occur later on the module search path. In
the simplest case, __init__.py can just be an empty file, but it can
also execute initialization code for the package or set the __all__
variable, described later.