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提取html文件中的特定数据的实现代码
Mar 24 Python
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
python 实现创建文件夹和创建日志文件的方法
Jul 07 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
Python pip 安装与使用(安装、更新、删除)
Oct 06 Python
django 扩展user用户字段inlines方式
Mar 30 Python
解决Jupyter NoteBook输出的图表太小看不清问题
Apr 16 Python
python如何实现图片压缩
Sep 11 Python
python开发一款翻译工具
Oct 10 Python
pytorch中index_select()的用法详解
Jan 06 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
关于zend studio 出现乱码问题的总结
2013/06/23 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
11款基于Javascript的文件管理器
2009/10/25 Javascript
JQuery与iframe交互实现代码
2009/12/24 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
验证码按回车不变解决方法
2013/03/29 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
采购人员的个人自我评价
2014/01/16 职场文书
师德师风自我评价范文
2014/09/11 职场文书
考研经验交流会策划书
2015/11/02 职场文书