基于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计算最大优先级队列实例
Dec 18 Python
Python脚本实现代码行数统计代码分享
Mar 10 Python
python实现批量监控网站
Sep 09 Python
python 使用get_argument获取url query参数
Apr 28 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
python文件处理fileinput使用方法详解
Jan 02 Python
Python装饰器用法与知识点小结
Mar 09 Python
django实现HttpResponse返回json数据为中文
Mar 27 Python
Django返回HTML文件的实现方法
Sep 17 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 Python
python 实现图片修复(可用于去水印)
Nov 19 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 curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
Jquery异步提交表单代码分享
2015/03/26 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
Python 列表反转显示的四种方法
2020/11/16 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
财务会计专业推荐信
2013/11/30 职场文书
运动会邀请函范文
2014/01/31 职场文书
冰淇淋开店创业计划书
2014/02/01 职场文书
小班下学期评语
2014/05/04 职场文书
法制宣传教育方案
2014/05/09 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
体育部部长竞选稿
2015/11/21 职场文书
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js