基于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之模块的加载
Oct 24 Python
python模块之re正则表达式详解
Feb 03 Python
Python Matplotlib库安装与基本作图示例
Jan 09 Python
django基于存储在前端的token用户认证解析
Aug 06 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
pywinauto自动化操作记事本
Aug 26 Python
Python二维数组实现求出3*3矩阵对角线元素的和示例
Nov 29 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
Python实现一个简单的毕业生信息管理系统的示例代码
Jun 08 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 02 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遍历目录并返回统计目录大小
2014/06/09 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
为什么要用EJB
2014/04/17 面试题
个人实用的自我评价范文
2013/11/23 职场文书
质检员岗位职责
2013/12/17 职场文书
《大江保卫战》教学反思
2014/04/11 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
观后感格式
2015/06/19 职场文书
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
mysql查询结果实现多列拼接查询
2022/04/03 MySQL
mysql的单列多值存储实例详解
2022/04/05 MySQL
MySQL优化之慢日志查询
2022/06/10 MySQL
2022年显卡天梯图(6月更新)
2022/06/17 数码科技