Python importlib模块重载使用方法详解
作者:py鱼 时间:2021-02-28 18:12:21
模块介绍
Python提供了importlib包作为标准库的一部分。目的就是提供Python中import语句的实现(以及__import__函数)。另外,importlib允许程序员创建他们自定义的对象,可用于引入过程(也称为importer)。
什么是imp?
另外有一个叫做imp的模块,它提供给Python import语句机制的接口。这个模块在Python 3.4中被否决,目的就是为了只使用importlib。
了解:模块的重载
考虑到性能的原因,每个模块只被导入一次,放入字典sys.module中,如果你改变了模块的内容,你必须重启程序,python不支持重新加载或卸载之前导入的模块,
有的同学可能会想到直接从sys.module中删除一个模块不就可以卸载了吗,注意了,你删了sys.module中的模块对象仍然可能被其他程序的组件所引用,因而不会被清楚。
特别的对于我们引用了这个模块中的一个类,用这个类产生了很多对象,因而这些对象都有关于这个模块的引用。
如果只是你想交互测试的一个模块,使用 importlib.reload(), e.g. import importlib; importlib.reload(modulename),这只能用于测试环境。
例子
aa.py
def func1():
print('func1')
test.py
import time,importlib
import aa
time.sleep(10)
# importlib.reload(aa) 用于模块重新加载
aa.func1()
在10秒的等待时间里,修改aa.py中func1的内容,等待test.py的结果。
打开importlib注释,重新测试
来源:https://www.cnblogs.com/pyyu/p/8493670.html
标签:Python,importlib,模块,重载
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python使用PyYAML库读写yaml文件的方法
2021-03-26 03:53:32
Python使用captcha制作验证码的实现示例
2023-04-16 00:49:35
![](https://img.aspxhome.com/file/2023/3/75113_0s.png)
将多宿主计算机配置为SQL Server访问
2011-01-04 16:17:00
python如何求解两数的最大公约数
2021-01-16 07:38:18
支持多风格变换的ASP分页类
2007-10-13 18:48:00
基于python实现MUI区域滚动
2023-11-04 02:38:52
![](https://img.aspxhome.com/file/2023/6/79396_0s.png)
Python下划线5种含义代码实例解析
2023-11-19 04:25:59
![](https://img.aspxhome.com/file/2023/3/87583_0s.jpg)
python实现余弦相似度文本比较的示例
2023-01-18 09:17:48
![](https://img.aspxhome.com/file/2023/2/81462_0s.png)
浅谈 Mousewheel 事件
2010-08-16 12:37:00
python如何判断IP地址合法性
2022-12-25 06:09:29
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2023-07-23 12:51:08
![](https://img.aspxhome.com/file/2023/7/64327_0s.png)
Python通过4种方式实现进程数据通信
2023-11-04 15:13:48
python3 使用ssh隧道连接mysql的操作
2023-09-01 19:15:11
一小时学会TensorFlow2之全连接层
2022-11-27 10:35:30
![](https://img.aspxhome.com/file/2023/0/93810_0s.jpg)
Go 语言实现 HTTP 文件上传和下载
2023-06-23 01:42:24
Python中优雅使用assert断言的方法实例
2021-03-27 12:56:58
Pycharm使用之设置代码字体大小和颜色主题的教程
2021-09-07 00:27:14
![](https://img.aspxhome.com/file/2023/1/93861_0s.jpg)
Python过滤txt文件内重复内容的方法
2023-08-04 17:41:48
![](https://img.aspxhome.com/file/2023/4/73004_0s.jpg)
asp如何向前端显示用户请求的信息?
2010-06-09 18:52:00
python 用opencv实现图像修复和图像金字塔
2022-09-27 09:24:22
![](https://img.aspxhome.com/file/2023/9/83929_0s.png)