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 相关文章推荐
bpython 功能强大的Python shell
Feb 16 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
Python利用字典破解WIFI密码的方法
Feb 27 Python
python解析xml简单示例
Jun 21 Python
python3 map函数和filter函数详解
Aug 26 Python
python pycharm的安装及其使用
Oct 11 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
python用TensorFlow做图像识别的实现
Apr 21 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
Python之变量类型和if判断方式
May 05 Python
解决python执行较大excel文件openpyxl慢问题
May 15 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
Apr 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
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
vue实现登录拦截
2020/06/29 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
Python中DJANGO简单测试实例
2015/05/11 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
Django多数据库联用实现方法解析
2020/11/12 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
入党积极分子介绍信
2014/01/17 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
党风廉正建设责任书
2015/01/29 职场文书
自荐信模板大全
2015/03/27 职场文书
python urllib库的使用详解
2021/04/13 Python
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL