我有一个 python 模块,它生成我想缓存在磁盘上以供将来使用的大型数据文件。对于普通用户而言,缓存可能最终会达到数百 MB,但可以节省大量计算时间。
这些文件不是随模块分发的,而是在第一次使用给定的参数集运行代码时生成的。
到目前为止,我自己只使用了一个文件模块,并将它们放在相对于模块(data/)的硬编码路径中。但是我现在需要使用 distutils 在 Python 包中分发这个模块,我想知道是否有标准的方法来做到这一点。
我正在考虑类似 scipy.weave 的编译缓存之类的东西 - 但想知道是否有更现代的支持方式来做这件事。在 *nix 平台上,我希望它可以进入,~/.something
但我不确定 Windows 等价物是什么。此外,这应该是可配置的,以便用户可以在更方便的情况下将其指向其他地方,或者在用户之间共享缓存目录。这样的配置文件应该如何工作?它应该去哪里?
或者我应该将它作为安装选项,或者通过 setup.py 旁边的配置文件,或者通过手动编辑 setup.py 进行设置,然后在安装前对模块中的目录进行硬编码?
任何指针都非常受欢迎......