标签:strong 搜索 变量 module 语句 使用 应该 块代码 __init__
import module
module.xxx
from imp import reload
reload(module)
module.xxx
dir0 dir1 __init__.py
dir2 __init__.py
mod.py
在__init__.py中使用__all__列表来定义使用from * 语句时,需要导出什么
#分别有三个文件
# dir1\__init__.py
print('dir1 init')
x = 1
# dir1\dir2\__init__.py
print('dir2 init')
y = 2
# dir1\dir2\mod.py
print('in mod')
z = 3
print("------第一次运行---------")
import dir1.dir2.mod
print("------第二次运行---------")
import dir1.dir2.mod
from importlib import reload
print("------第三次运行---------")
reload(dir1)
reload(dir1.dir2.mod)
# ------第一次运行---------
# dir1 init 模块导入的时候会自动执行导入路径中init文件中的代码
# dir2 init
# in mod 导入目标模块时会先运行一次模块代码
# ------第二次运行--------- 模块已经导入一次,再次导入不会生效
# ------第三次运行--------- 重载后,目标模块重载,但执行过程中的init不会重载
# dir1 init
# in mod
# 调用模块中的变量
print(dir1.x,dir1.dir2.y,dir1.dir2.mod.z) # 1 2 3
# from...import的灵活调用
from dir1.dir2 import mod
print(mod.z)
from dir1.dir2.mod import z
print(z)
import dir1.dir2.mod as t
print(t.z)
```
import module as name
标签:strong 搜索 变量 module 语句 使用 应该 块代码 __init__
原文地址:https://www.cnblogs.com/yingyingdeyueer/p/11852952.html