基本上,我想要在我正在编写的 python 程序中使用无限大小(更准确地说,是硬盘驱动器而不是内存限制)字典。似乎 tempfile 和 shelve 模块自然适合这个,但是,我看不出如何以安全的方式一起使用它们。我希望在搁置被 GC 时删除临时文件(或者保证在搁置停止使用后删除,无论何时),但我能想到的唯一解决方案是使用 tempfile.TemporaryFile() 打开一个文件句柄,从句柄中获取文件名,使用这个文件名打开一个搁置,保持对文件句柄的引用以防止它被 GCed(和文件删除),然后在搁置上放置一个包装器来存储这个参考。任何人都有比这个令人费解的混乱更好的解决方案吗?
限制:只能使用标准python库,必须完全跨平台。