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实现冒泡排序的简单应用示例
Dec 11 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
python3中zip()函数使用详解
Jun 29 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
python datetime处理时间小结
Apr 16 Python
python 异步async库的使用说明
May 04 Python
详解Python 中的容器 collections
Aug 17 Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 Python
七个Python必备的GUI库
Apr 27 Python
python正则表达式re.search()的基本使用教程
May 21 Python
asyncio异步编程之Task对象详解
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
Adodb的十个实例(清晰版)
2006/12/31 PHP
php启用zlib压缩文件的配置方法
2013/06/12 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
JS 表单验证大全
2011/11/23 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
使用Python来开发微信功能
2018/06/13 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
python基于SMTP协议发送邮件
2019/05/31 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
10条PHP编程习惯
2014/05/26 面试题
学校大课间活动方案
2014/01/30 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
设置IIS Express并发数
2022/07/07 Servers