gpt4 book ai didi

python中reload重载实例用法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python中reload重载实例用法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

当我们想对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 。

最后此篇关于python中reload重载实例用法的文章就讲到这里了,如果你想了解更多关于python中reload重载实例用法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com