__init__.py
是一个特殊的python文件。一个文件夹中有这一个文件时,那么这个文件夹就会被视作一个python包。
一般来说,__init__.py
这个文件是空的,但是它也可以用来配置下当前这个python包,如指定包的版本,或者控制可见的符号,当使用from 包名 import *
,包名就是__init__.py
所在的文件夹名,星号处的值就是可以在这个文件里配置。比如现在__init__.py
所在文件夹名为musicdump,__init__.py
内容如下:
from musicdump.core import MP3usicFile
__version__ = "1.0.0"
上面这个__init__.py
文件,我们可以知道:
from musicdump import MP3usicFile
, MP3usicFile就是定义控制用这条命令导入时可见的符号。__init__.py
文件的一个重要用途就是表示当前文件夹是一个包,它是可以空的。 如果不为空,那么也会在包被导入时被执行。
在python3.3之前的版本,所有的python包都需要有这样一份文件。3.3之后就不再有这一要求了。因为importlib这个导入系统的核心模块已经可以自动侦测包,不需要__init__.py
的帮助了。这就意味着我们可以创建一个目录,然后把模块放进去即可。
我们仍然可以使用这份文件去定义一些变量或其他的配置,它会在导入时被执行。