基于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 相关文章推荐
Python3读取UTF-8文件及统计文件行数的方法
May 22 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
matplotlib savefig 保存图片大小的实例
May 24 Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 Python
python 图像平移和旋转的实例
Jan 10 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
May 29 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
利用python实现逐步回归
Feb 24 Python
python numpy生成等差数列、等比数列的实例
Feb 25 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 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 开发环境配置(测试开发环境)
2010/04/28 PHP
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
PHP实现Soap通讯的方法
2014/11/03 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
JavaScript中为事件指定处理程序的五种方式分析
2018/07/27 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
[01:25:38]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第一场 1月19日
2021/03/11 DOTA
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
python实现SMTP邮件发送功能
2020/06/16 Python
Django forms组件的使用教程
2018/10/08 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
满月酒答谢词
2014/01/14 职场文书
优质服务演讲稿
2014/05/14 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android