一、文件__init__.py作用:package / module 的标志
下图的serrors包含这个文件时候,Python会将其当做一个模块(module)来处理,进而可以使用from serrors import xx方式导入serrors包中的文件或模块。
如图所示,包serrors下面有了,init.py,则上图可以使用:
from serrors import errorImpl #包serrors下面有__int__.py
当用import 导入该目录时候,会执行__Init__.py里面的代码,通常__init__.py文件为空。
注意:在较低的版本中,没有__init__.py文件的目录下不能使用from xx import xx导入相关模块,但是后面的版本可以。
文件__init__.py作用2:包管理-选择性导入
使用__init__.py文件可以控制模块导入时的变量和内容,如下所示,对上图中的两个 moudel 进行选择性导入。
from serrors.errorImpl import OpError
from serrors.errortype import ErrorInfo
__all__ = ['ErrorInfo', 'OpError']
当某个目录中包含__init__.py文件时,Python在引入这个模块之前,会首先执行这个文件。因此,这个文件也可以被编程者用来控制定义包级别的变量。
被用来控制定义包级别的变量。
总结
慢慢的将各种包啥的全部都整理完成,会自己研究包的管理,及其套路。全部都将其搞定都行啦的样子与打算。
会自己根据需求设计代码块__init__.py的文件,然后将各种包啥的偶读将其导入,全部都将其导入都行啦的样子与打算。