此代码或类似代码是否允许在取消引用后通过垃圾收集拾取“某物”?
import something as this
if condition:
import somethingelse as this
我想根据条件导入不同的模块以将其他模块替换为相同的别名,而不是在所有模块同时“加载”的情况下占用大量内存
谢谢
此代码或类似代码是否允许在取消引用后通过垃圾收集拾取“某物”?
import something as this
if condition:
import somethingelse as this
我想根据条件导入不同的模块以将其他模块替换为相同的别名,而不是在所有模块同时“加载”的情况下占用大量内存
谢谢
不,原始模块仍缓存sys.modules
为sys.modules['something']
. 完全卸载模块通常非常困难;请参阅在 Python 中卸载模块。
加载的模块被缓存,因此消除您的引用并不会消除所有引用。它不会被垃圾收集。