package的目录结构如下图 在pack1目录下的init_import_func.py中的定义了两个方法,代码如下
在pack1目录下的_init_.py中导入init_import_func.py定义的两个方法
from .init_import_func import func1from .init_import_func import func2在package目录下的init_import_test.py中测试代码如下
from pack1 import func1from pack1 import func2def main(): func1() func2()if __name__ == '__main__': main()运行后输出
从运行的结果可以看到,在_init_.py文件中import的东西可以在其他地方使用的时候直接导入。又如使用flask框架里redirect方法,我们一般使用的时候都是写这样的导入语句,
from flask import redirect但是redirect不是flask包下模块里的方法。查看的flask包下面的_init_.py源码
from werkzeug.utils import redirect可以看到redirect是从另一个模块导入的方法。总的来说,_init_.pyimport语句是为了暴露某些模块,方便使用。
新闻热点
疑难解答