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,重载
0
投稿

猜你喜欢

  • div不换行,css不换行,自动换行

    2009-09-07 12:52:00
  • python shapely.geometry.polygon任意两个四边形的IOU计算实例

    2021-09-23 03:19:46
  • Python循环实现n的全排列功能

    2022-08-15 21:04:08
  • js保留两位小数方法总结

    2023-07-18 17:34:35
  • Python3数字求和的实例

    2022-05-25 13:37:25
  • asp如何制作一个股票滚屏显示面板?

    2010-07-07 12:27:00
  • PHP桥接模式Bridge Pattern的优点与实现过程

    2023-05-25 06:53:44
  • PHP利用header跳转失效的解决方法

    2023-09-07 23:39:45
  • 解读python基于netconf协议获取网元的数据

    2023-06-29 20:26:23
  • Python类中的魔法方法之 __slots__原理解析

    2023-10-01 18:49:51
  • Python实现简单状态框架的方法

    2022-08-20 14:13:44
  • opencv resize图片为正方形尺寸的实现方法

    2023-02-21 15:34:51
  • Python进阶之使用selenium爬取淘宝商品信息功能示例

    2022-04-26 04:55:15
  • python集合的创建、添加及删除操作示例

    2022-07-09 13:29:38
  • python 利用文件锁单例执行脚本的方法

    2021-11-08 08:05:38
  • python request 模块详细介绍

    2021-02-12 22:15:33
  • 在漏洞利用Python代码真的很爽

    2023-11-24 15:57:29
  • 远程部署工具Fabric详解(支持Python3)

    2023-10-26 14:05:18
  • Python局部函数及用法详解(含nonlocal关键字)

    2023-07-26 05:02:52
  • 手机验证设计感悟

    2011-01-20 19:55:00
  • asp之家 网络编程 m.aspxhome.com