基于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用fork来创建子进程注意事项
Jul 03 Python
Python标准库内置函数complex介绍
Nov 25 Python
Python中基础的socket编程实战攻略
Jun 01 Python
Python 操作文件的基本方法总结
Aug 10 Python
Python代码打开本地.mp4格式文件的方法
Jan 03 Python
Django 路由控制的实现
Jul 17 Python
python 环境搭建 及python-3.4.4的下载和安装过程
Jul 20 Python
如何通过python实现全排列
Feb 11 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
Feb 11 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
Elasticsearch 基本查询和组合查询
Apr 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
在PHP中执行系统外部命令
2006/10/09 PHP
PHP生成静态页
2006/11/25 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
JQUERY操作JSON实例代码
2010/02/09 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
Node中使用ES6语法的基础教程
2018/01/05 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
详解python metaclass(元类)
2020/08/13 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
IE下实现类似CSS3 text-shadow文字阴影的几种方法
2011/05/11 HTML / CSS
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
播音主持女孩的自我评价分享
2013/11/20 职场文书
日语系毕业求职信
2014/07/27 职场文书
学校端午节活动方案
2014/08/23 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang