Python importlib模块重载使用方法详解


Posted in Python onOctober 13, 2020

模块介绍

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注释,重新测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Flask框架中实现登录用户的个人资料和头像的教程
Apr 20 Python
python logging 日志轮转文件不删除问题的解决方法
Aug 02 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
python实现简单加密解密机制
Mar 19 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 Python
在pycharm中创建django项目的示例代码
May 28 Python
python“静态”变量、实例变量与本地变量的声明示例
Nov 13 Python
Python+Appium新手教程
Apr 17 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Apr 24 Python
Pycharm添加虚拟解释器报错问题解决方案
Oct 13 #Python
Python本地及虚拟解释器配置过程解析
Oct 13 #Python
Pycharm快捷键配置详细整理
Oct 13 #Python
Django项目创建及管理实现流程详解
Oct 13 #Python
OpenCV读取与写入图片的实现
Oct 13 #Python
Django Form常用功能及代码示例
Oct 13 #Python
Python语言编写智力问答小游戏功能
Oct 13 #Python
You might like
PHP session常见问题集锦及解决办法总结
2007/03/18 PHP
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
php实现映射操作实例详解
2019/10/02 PHP
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
Python实现iOS自动化打包详解步骤
2018/10/03 Python
python异步存储数据详解
2019/03/19 Python
24式加速你的Python(小结)
2019/06/13 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
洗煤厂厂长岗位职责
2014/01/03 职场文书
出国留学介绍信
2014/01/13 职场文书
小学生新学期寄语
2014/01/19 职场文书
教育学习自我评价
2014/02/03 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
领导欢迎词致辞
2015/01/23 职场文书
研究生简历自我评
2015/03/11 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫