__init__.py的目的是什么?

时间:2013-05-14 00:39:44

标签: python python-3.x distutils

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

1 个答案:

答案 0 :(得分:5)

向Python发出信号,该文件夹是一个包,而不仅仅是一个文件夹。 它还包含在程序包import编入脚本时运行的初始化代码。

有关详情,请参阅the docs on the subject。最相关的提取物:

  

需要__init__.py个文件才能让Python对待   目录包含包;这是为了防止   无意中具有通用名称的目录,例如string   隐藏稍后在模块搜索路径上发生的有效模块。在   最简单的情况,__init__.py可以只是一个空文件,但它可以   还执行包的初始化代码或设置__all__   变量,稍后描述。