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的Tornado框架实现数据可视化的教程
May 02 Python
python自动化脚本安装指定版本python环境详解
Sep 14 Python
Python实现购物车功能的方法分析
Nov 10 Python
Python 元类实例解析
Apr 04 Python
Python装饰器限制函数运行时间超时则退出执行
Apr 09 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
Aug 23 Python
Python调用scp向服务器上传文件示例
Dec 22 Python
Python类反射机制使用实例解析
Dec 30 Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 Python
python3将变量写入SQL语句的实现方式
Mar 02 Python
浅谈django channels 路由误导
May 28 Python
实例详解Python的进程,线程和协程
Mar 13 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
php5.5中类级别的常量使用介绍
2013/10/02 PHP
php实现分页工具类分享
2014/01/09 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
自制PHP框架之路由与控制器
2017/05/07 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
Python和php通信乱码问题解决方法
2014/04/15 Python
python根据路径导入模块的方法
2014/09/30 Python
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
运动会广播稿50字-100字
2014/10/11 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
计算机实训报告范文
2014/11/05 职场文书
出租车拒载检讨书
2015/01/28 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
趣味运动会加油词
2015/07/18 职场文书
PyTorch的Debug指南
2021/05/07 Python