基于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之大话题小函数(2)
Oct 10 Python
python计算文本文件行数的方法
Jul 06 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
python之pandas用法大全
Mar 13 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
Nov 10 Python
Python常见的pandas用法demo示例
Mar 16 Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 Python
在Python3 numpy中mean和average的区别详解
Aug 24 Python
Django中间件拦截未登录url实例详解
Sep 03 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
Python 项目转化为so文件实例
Dec 23 Python
浅析python函数式编程
Sep 26 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-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
分享几个超级震憾的图片特效
2012/01/08 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
Node.js 条形码识别程序构建思路详解
2016/02/14 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
微信小程序实现工作时间段选择
2019/02/15 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
跟老齐学Python之正规地说一句话
2014/09/28 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
Python数据类型之List列表实例详解
2019/05/08 Python
python实现五子棋小程序
2019/06/18 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
python logging设置level失败的解决方法
2020/02/19 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
大学生职业生涯规划书前言
2014/01/09 职场文书
简历上的自我评价
2014/02/03 职场文书
研修第一天随笔感言
2014/02/15 职场文书
计生专干事迹
2014/05/28 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
大国崛起英国观后感
2015/06/02 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers
Python中tqdm的使用和例子
2022/09/23 Python