このコードまたは同様のものは、逆参照された後にガベージコレクションによって「何か」を取得することを可能にしますか?
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 でモジュールをアンロードするを参照してください。
ロードされたモジュールはキャッシュされるため、参照を削除してもすべての参照が削除されるわけではありません。ガベージ コレクションは行われません。