此代码或类似代码是否允许在取消引用垃圾回收后拾取“某事”?
import something as this
if condition:
import somethingelse as this
我想导入不同的模块,根据条件将其他模块替换为相同的别名,而不是在所有模块同时“加载”的情况下占用大量内存
由于
答案 0 :(得分:2)
不,原始模块仍在sys.modules
缓存为sys.modules['something']
。完全卸载模块通常很困难;见Unload a module in Python。
答案 1 :(得分:0)
加载的模块已缓存,因此删除您的引用并不会消除所有引用。它不会被垃圾收集。