python中reload重载实例用法


Posted in Python onDecember 15, 2020

当我们想对python中原有的模块进行覆盖,又不希望退出当前的程序,就需要用到重载的概念。这样既能使模块得到更新,又不影响解释器的使用。在导入的模块上,也是对之前原有模块的一次覆盖,包括最初导入时所加载的各种过程。下面我们学习reload的一些基础内容,在实例中体会加载功能。

1.装载MyModule语法演示:

from imp import reload reload(MyModule)

2.参数

module -- 模块对象。

3.返回值

返回模块对象。

4.实例

当前目录下有一个test.py :

# i am test.py
num = 1

Python console :

>>> import test
>>> test.num
1

在脚本运行期,如果 test.py 中的num 改为2,此时需要热更:

# i am test.py
num = 2

Python console :

>>> from importlib import reload
>>> reload(test)
<module 'test' from '/home/xiaojie/URun.ResearchPrototype/People/Xiaojie/test.py'>
>>> test.num
2

注意:reload函数希望获得的参数是一个已经加载了的模块对象的名称,所以如果在重载之前,请确保已经成功地导入了这个模块。

说明:Python 3.0把reload内置函数移到了imp标准库模块中。它仍然像以前一样重载文件,但是,必须导入它才能使用。

知识点扩展:

python3中reload()中出现错误的原因

>>> import os
>>> os.getcwd()
'C:\\CodingApp\\python'
>>> os.chdir(r'C:\Users\JIANCHEN\PycharmProjects\决策树\src')
>>> os.getcwd()
'C:\\Users\\JIANCHEN\\PycharmProjects\\决策树\\src'
>>> from imp import reload

Warning (from warnings module):
 File "__main__", line 1
DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
>>> reload(index)
Traceback (most recent call last):
 File "<pyshell#5>", line 1, in <module>
  reload(index)
NameError: name 'index' is not defined
>>> import index
>>> reload(index)
<module 'index' from 'C:\\Users\\JIANCHEN\\PycharmProjects\\决策树\\src\\index.py'>

总结:在reload之前要import

到此这篇关于python中reload重载实例用法的文章就介绍到这了,更多相关python中如何使用reload重载内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现文件分组复制到不同目录的例子
Jun 04 Python
Python正则抓取新闻标题和链接的方法示例
Apr 24 Python
彻底理解Python list切片原理
Oct 27 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
Python代码实现http/https代理服务器的脚本
Aug 12 Python
pytorch多进程加速及代码优化方法
Aug 19 Python
使用Python将字符串转换为格式化的日期时间字符串
Sep 01 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
Jun 22 Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 Python
python 实现socket服务端并发的四种方式
Dec 14 #Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
Dec 14 #Python
Python获取指定网段正在使用的IP
Dec 14 #Python
python利用pytesseract 实现本地识别图片文字
Dec 14 #Python
python 利用百度API识别图片文字(多线程版)
Dec 14 #Python
python3中for循环踩过的坑记录
Dec 14 #Python
Python 数据分析之逐块读取文本的实现
Dec 14 #Python
You might like
PHP生成带有雪花背景的验证码
2006/10/09 PHP
PHP 获取目录下的图片并随机显示的代码
2009/12/28 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
List Information About the Binary Files Used by an Application
2007/06/11 Javascript
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
详解Django中的过滤器
2015/07/16 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
Django数据库操作之save与update的使用
2020/04/01 Python
python数据类型强制转换实例详解
2020/06/22 Python
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
JPA的优势都有哪些
2013/07/04 面试题
大学生求职简历的自我评价
2013/10/21 职场文书
出纳员岗位责任制
2014/02/11 职场文书
关于运动会的口号
2014/06/07 职场文书
视光学专业自荐信
2014/06/24 职场文书
客房部经理岗位职责
2015/02/02 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
假如给我三天光明读书笔记
2015/06/26 职场文书
Redis 限流器
2022/05/15 Redis