python重载模块_Python importlib模块重载使用方法详解
发布日期:2021-06-24 07:11:15 浏览次数:5 分类:技术文章

本文共 862 字,大约阅读时间需要 2 分钟。

模块介绍

Python提供了importlib包作为标准库的一部分。目的就是提供Python中import语句的实现(以及__import__函数)。另外,importlib允许程序员创建他们自定义的对象,可用于引入过程(也称为importer)。

什么是imp?

另外有一个叫做imp的模块,它提供给Python import语句机制的接口。这个模块在Python 3.4中被否决,目的就是为了只使用importlib。

了解:模块的重载

考虑到性能的原因,每个模块只被导入一次,放入字典sys.module中,如果你改变了模块的内容,你必须重启程序,python不支持重新加载或卸载之前导入的模块,

有的同学可能会想到直接从sys.module中删除一个模块不就可以卸载了吗,注意了,你删了sys.module中的模块对象仍然可能被其他程序的组件所引用,因而不会被清楚。

特别的对于我们引用了这个模块中的一个类,用这个类产生了很多对象,因而这些对象都有关于这个模块的引用。

如果只是你想交互测试的一个模块,使用 importlib.reload(), e.g. import importlib; importlib.reload(modulename),这只能用于测试环境。

例子

aa.py

def func1():

print('func1')

test.py

import time,importlib

import aa

time.sleep(10)

# importlib.reload(aa) 用于模块重新加载

aa.func1()

在10秒的等待时间里,修改aa.py中func1的内容,等待test.py的结果。

打开importlib注释,重新测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: Python importlib模块重载使用方法详解

本文地址: http://www.cppcns.com/jiaoben/python/353507.html

转载地址:https://blog.csdn.net/weixin_30909915/article/details/112900375 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python宽度_在Python中对齐框架宽度
下一篇:python删除数组特定元素_如何使用python从数组中删除特定元素

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年05月05日 08时58分26秒