基于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 相关文章推荐
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
Python的Bottle框架的一些使用技巧介绍
Apr 08 Python
python 编程之twisted详解及简单实例
Jan 28 Python
python与php实现分割文件代码
Mar 06 Python
python计算auc指标实例
Jul 13 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
Jul 17 Python
如何搭建pytorch环境的方法步骤
May 06 Python
Python批量处理csv并保存过程解析
May 16 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
May 26 Python
python 获取字典键值对的实现
Nov 12 Python
用python批量下载apk
Dec 29 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/08/08 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
php简单中奖算法(实例)
2017/08/15 PHP
javascript getElementsByName()的用法说明
2009/07/31 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
jQuery模拟黑客帝国矩阵效果实例
2015/06/28 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
MAC彩妆英国官网:M·A·C UK
2018/05/30 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
2015年大学社团工作总结
2015/04/09 职场文书
戒赌保证书
2015/05/11 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS