基于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字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
python如何实现反向迭代
Mar 20 Python
django中静态文件配置static的方法
May 20 Python
Tensorflow中的placeholder和feed_dict的使用
Jul 09 Python
Python 2.7中文显示与处理方法
Jul 16 Python
python 通过类中一个方法获取另一个方法变量的实例
Jan 22 Python
Python实现制度转换(货币,温度,长度)
Jul 14 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
Python内置函数property()如何使用
Sep 01 Python
sublime3之内网安装python插件Anaconda的流程
Nov 10 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 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函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
php实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
超酷的网页音乐播放器DewPlayer使用方法
2010/12/18 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
关于query Javascript CSS Selector engine
2013/04/12 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
JS实现可控制的进度条
2020/03/25 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
Python调用C语言开发的共享库方法实例
2015/03/18 Python
Django URL传递参数的方法总结
2016/08/28 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
项目合作计划书
2014/01/09 职场文书
安全演讲稿大全
2014/05/09 职场文书
公司门卫工作职责
2014/06/28 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
银行稽核岗位职责
2015/04/13 职场文书
中学教师读书笔记
2015/07/01 职场文书
车间安全生产管理制度
2015/08/06 职场文书
python如何在word中存储本地图片
2021/04/07 Python