python中reload重载实例用法
作者:小妮浅浅 时间:2021-05-12 07:02:09
当我们想对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
来源:https://www.py.cn/jishu/jichu/21966.html
标签:python,reload,重载


猜你喜欢
ubuntu下在docker中安装mysql5.6 的方法
2024-01-23 08:35:30
Golang指针隐式间接引用详解
2024-02-22 02:29:53
Python中格式化字符串的四种实现
2023-11-25 10:38:18
五个简单有效的Python清理数据脚本分享
2021-11-01 08:08:50

详解Vue2.0里过滤器容易踩到的坑
2024-05-09 10:40:46
mysql 5.7更改数据库的数据存储位置的解决方法
2024-01-21 11:56:43
Sql server中时间查询的一个比较快的语句
2008-12-29 14:16:00
NumPy中的维度Axis详解
2021-02-12 12:39:35

MySQL数据备份方法的选择与思考
2024-01-19 21:02:50
Python+Selenium实现短视频自动上传与发布的实践
2021-06-12 15:58:46

vue实现导航栏下拉菜单
2024-05-09 15:17:56

python爬虫之Appium爬取手机App数据及模拟用户手势
2023-12-28 00:10:46

python3 字符串知识点学习笔记
2023-05-02 16:25:35
Vue2.0 axios前后端登陆拦截器(实例讲解)
2023-07-02 16:59:11

详解Go语言中的Slice链式操作
2024-05-22 10:29:05
SQL实现查询某字段的值为空的记录
2024-01-18 13:44:56

python将ip地址转换成整数的方法
2022-10-17 23:40:23
交互设计实用指南系列(6) –标签明晰、有效
2010-01-21 12:39:00

mysql联合索引的使用规则
2024-01-15 06:18:14

Python OpenCV之常用滤波器使用详解
2023-02-07 22:18:25
