基于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中的闭包总结
Sep 18 Python
详解python中requirements.txt的一切
Mar 03 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
python Selenium实现付费音乐批量下载的实现方法
Jan 24 Python
详解python的四种内置数据结构
Mar 19 Python
python根据txt文本批量创建文件夹
Dec 08 Python
对Python 检查文件名是否规范的实例详解
Jun 10 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
python 将Excel转Word的示例
Mar 02 Python
python xlwt模块的使用解析
Apr 13 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实现文件下载更能介绍
2012/11/23 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
php实现的ping端口函数实例
2014/11/12 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
创业计划书中要认真思考的问题
2013/12/28 职场文书
高中美术教学反思
2014/01/19 职场文书
二年级语文教学反思
2014/02/02 职场文书
入职担保书范文
2014/05/21 职场文书
拓展策划方案
2014/06/03 职场文书
硕士学位论文评语
2014/12/31 职场文书
财务人员个人工作总结
2015/02/27 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
导游词之麻姑仙境
2019/11/18 职场文书