1
刚刚有这个问题流入我的脑海。Python - 定期模块导入和取消导入
目前我编写的程序很小,不会运行很长时间。但是很快我就要创建能够在一天中同时运行的程序。也许在这个程序中最初会使用一个模块,但是在一天的大部分时间里都不需要。因此,是否可以卸载一个模块?
在搜索时,我似乎无法找到'是'的答案,那么我是否可以正确地认为它在Python中实际上不可行,即使在当前写作时也是如此?
我知道的唯一功能删除了参考,但不是实际的进口:
import module
module.X()
del module
module.X()
_
Output: #NameError, can't find `module`
'del module'会删除本地命名空间中的引用,但它仍然至少会从sys.modules引用,所以模块对象本身不会被gc化(至少与我是正确的,'sys.modules'不使用弱引用,我敢肯定它没有)。 –
[在Python中卸载模块]可能的重复(http://stackoverflow.com/questions/3105801/unload-a-module-in-python) – zhangxaochen
我不知道这是否可能,但我建议不用担心。释放模块不会从根本上减少内存消耗或任何事情。 – Kevin