4

このコードまたは同様のものは、逆参照された後にガベージコレクションによって「何か」を取得することを可能にしますか?

import something as this

if condition:
    import somethingelse as this

条件に応じて別のモジュールをインポートして他のモジュールを同じエイリアスに置き換え、すべてのモジュールが同時に「ロード」されることでメモリの負荷を消費したくない

ありがとう

4

2 に答える 2

2

いいえ、元のモジュールはまだ としてキャッシュされsys.modulesていsys.modules['something']ます。一般に、モジュールを完全にアンロードすることは非常に困難です。Python でモジュールをアンロードするを参照してください。

于 2012-11-29T17:50:22.710 に答える
0

ロードされたモジュールはキャッシュされるため、参照を削除してもすべての参照が削除されるわけではありません。ガベージ コレクションは行われません。

于 2012-11-29T17:50:26.763 に答える