为什么你永远不应该重新加载模块?

3 浏览
0 Comments

为什么你永远不应该重新加载模块?

这个问题已经有答案了

如何卸载(重载)Python模块?

“模块和包:忘记它!”28页(另见视频)中称:

你可以强制重新加载一个模块,但是你永远不应该这样做。

有人可以解释一下为什么我们不应该在Python中重新加载模块吗?

admin 更改状态以发布 2023年5月20日
0
0 Comments

重新加载一个模块通常在开发中使用,这样你可以继续运行相同的解释器会话,但在其中获得你对模块所做的更改。这在视频中用示例解释了,从大约11分钟处开始。但是,如果你发现自己正在编写依赖于模块在运行时改变并重新加载的实际功能,那么你应该非常确定自己知道自己在做什么,并首先考虑其他选项。

0
0 Comments

重新加载在这里详细说明:如何卸载(重新加载)Python模块?

简称

有一些有效的应用场景使用 reload ,例如Django开发服务器。但总体而言,重新加载模块有太多需要注意的地方,不太实用。

最大的两个关注点是:

  1. 为了彻底卸载旧对象,必须确保没有其他模块或对象持有对它们的引用(通常不可能)。如果在此处失败,可能会导致难以跟踪的内存泄漏或意外行为。

  2. 没有一般的方法来重新加载具有C扩展的模块。有些模块可以安全地重新加载;有些可能看似可以安全地重新加载,但会泄漏,并且有些可能会崩溃您的解释器或产生奇怪的错误。

0