基于Python2、Python3中reload()的不同用法介绍


Posted in Python onAugust 12, 2019

reload() 简介

作用:用于重新载入之前载入的模块

语法格式:reload(module)

参数:module为模块对象,必须已经被加载

返回值:返回模块对象

注意事项:

多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。

reload()会重新加载已加载的模块,重新编译模块,重新执行模块级代码,但是__init__函数不再重复执行,原来已经使用的实例还是会使用旧的模块,而新生产的实例会使用新的模块;reload后还是用原来的内存地址;不支持from ... import ...格式的模块进行重新加载。

大部分模块设计为只加载一次,重新加载可能导致一些问题,因此,慎用reload()。

使用sys.modules可查看已加载的模块。

Python2

在Python2中,reload()为内置函数。

例:重设字符编码

>>>import sys
>>> sys.getdefaultencoding()      # 当前默认编码
'ascii'
>>> reload(sys)             # 使用 reload
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf8')   # 设置编码
>>> sys.getdefaultencoding()
'utf8'
>>>

Python3

在Python3中,reload()被转移到imp模块以及importlib模块中。

Python3.4之前在imp中,Python3.4之后imp模块逐步被废弃,reload()移至importlib模块中。

>>> import sys
>>> reload(sys)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'reload' is not defined
>>> from imp import reload
__main__:1: DeprecationWarning: the imp module is deprecated in favour of importlib;
 see the module's documentation for alternative uses
>>> reload(sys)
<module 'sys' (built-in)>
>>> from importlib import reload
>>> reload(sys)
<module 'sys' (built-in)>

以上这篇基于Python2、Python3中reload()的不同用法介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的函数嵌套的使用方法
Jan 24 Python
简单的Python2.7编程初学经验总结
Apr 01 Python
详谈在flask中使用jsonify和json.dumps的区别
Mar 26 Python
Django如何实现上传图片功能
Aug 16 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
Python selenium页面加载慢超时的解决方案
Mar 18 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
Keras使用ImageNet上预训练的模型方式
May 23 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
python利用pytesseract 实现本地识别图片文字
Dec 14 Python
Python 数据科学 Matplotlib图库详解
Jul 07 Python
Python递归函数 二分查找算法实现解析
Aug 12 #Python
基于Python安装pyecharts所遇的问题及解决方法
Aug 12 #Python
Django实现发送邮件找回密码功能
Aug 12 #Python
使用pyecharts生成Echarts网页的实例
Aug 12 #Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
Aug 12 #Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 #Python
Python实现网页截图(PyQT5)过程解析
Aug 12 #Python
You might like
php接口与接口引用的深入解析
2013/08/09 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
微信自定义菜单的创建/查询/取消php示例代码
2016/08/05 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
2019/03/21 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
React简单介绍
2017/05/24 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
2017/08/03 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
Vue中点击active并第一个默认选中功能的实现
2020/02/24 Javascript
JS数组索引检测中的数据类型问题详解
2021/01/11 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
Python可变参数用法实例分析
2017/04/02 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
python xpath获取页面注释的方法
2019/01/14 Python
python ubplot使用方法解析
2020/01/10 Python
python怎么判断模块安装完成
2020/06/19 Python
django下创建多个app并设置urls方法
2020/08/02 Python
python 监控logcat关键字功能
2020/09/04 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
python/golang 删除链表中的元素
2020/09/14 Python
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
楼面部长岗位职责范本
2014/02/14 职场文书
企业管理毕业生求职信范文
2014/03/07 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
优秀班集体申报材料
2014/12/25 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
教师节校长致辞
2015/07/31 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python
python可视化大屏库big_screen示例详解
2021/11/23 Python