服务器之家

服务器之家 > 正文

python中reload重载实例用法

时间:2021-08-14 00:08     来源/作者:小妮浅浅

当我们想对python中原有的模块进行覆盖,又不希望退出当前的程序,就需要用到重载的概念。这样既能使模块得到更新,又不影响解释器的使用。在导入的模块上,也是对之前原有模块的一次覆盖,包括最初导入时所加载的各种过程。下面我们学习reload的一些基础内容,在实例中体会加载功能。

1.装载MyModule语法演示:

?
1
from imp import reload reload(MyModule)

2.参数

module -- 模块对象。

3.返回值

返回模块对象。

4.实例

当前目录下有一个test.py :

?
1
2
# i am test.py
num = 1

Python console :

?
1
2
3
>>> import test
>>> test.num
1

在脚本运行期,如果 test.py 中的num 改为2,此时需要热更:

?
1
2
# i am test.py
num = 2

Python console :

?
1
2
3
4
5
>>> 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()中出现错误的原因

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
>>> 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重载内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.py.cn/jishu/jichu/21966.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部