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实现目录树生成示例
Mar 28 Python
Python中input和raw_input的一点区别
Oct 21 Python
使用Python的Zato发送AMQP消息的教程
Apr 16 Python
Python中用于返回绝对值的abs()方法
May 14 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
Python单元测试简单示例
Jul 03 Python
python随机生成库faker库api实例详解
Nov 28 Python
python shell命令行中import多层目录下的模块操作
Mar 09 Python
Tensorflow中的降维函数tf.reduce_*使用总结
Apr 20 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 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解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
ThinkPHP实现简单登陆功能
2017/04/28 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
实例讲解php实现多线程
2019/01/27 PHP
php fread函数使用方法总结
2019/05/28 PHP
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
setinterval()与clearInterval()JS函数的调用方法
2015/01/21 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
介绍Python中的一些高级编程技巧
2015/04/02 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
Python实现AI自动抠图实例解析
2020/03/05 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
初中体育教学反思
2014/01/14 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
物业总经理岗位职责
2014/02/28 职场文书
个人函授自我鉴定
2014/03/25 职场文书
大学生简历求职信
2014/06/24 职场文书
个人工作决心书
2015/09/22 职场文书
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL