基本的に、私が書いているPythonプログラムでは、無限のサイズ(より正確には、メモリバウンドではなくハードドライブ)のdictが必要です。tempfileモジュールとshelveモジュールは当然これに適しているようですが、安全に一緒に使用する方法がわかりません。シェルフがGCされたときに一時ファイルを削除したいのですが(または、いつかに関わらず、シェルフが使用されなくなった後の削除が保証されます)、これを実現する唯一の解決策は、tempfile.TemporaryFile()を使用して開くことです。ファイルハンドル、ハンドルからファイル名を取得し、このファイル名を使用してシェルフを開き、ファイルハンドルへの参照を保持して、GCされないように(およびファイルが削除されないように)、これを格納するシェルフにラッパーを配置します参照。誰もがこの複雑な混乱よりも優れた解決策を持っていますか?
制限事項:標準のPythonライブラリのみを使用でき、完全にクロスプラットフォームである必要があります。