做实验的时候经常要存一些数据,用手写with open
很麻烦,就想着,啊那不如直接搞一个存硬盘的dict吧!
from rimo_storage import 超dict
d = 超dict('./savedata')
d['x'] = 114514
d['y'] = '好!'
然后下次运行程序的时候就还可以读d
里面的内容了。
嗯,就是这么简单!
rimo_storage.超dict(path, compress=None, serialize='json')
基本上就相当于普通的Dict[str, Any]
。
其中compress
和serialize
的类型是Union[str, Tuple[Callable, Callable], None]
,它的行为是这样——
compress
可以选择zlib
或者lzma
,serialize
可以选择json
和pickle
。- 如果传
Tuple[Callable, Callable]
,则第一个函数会在写入的时候用,第二个函数会在读取的时候用。 - 如果是
None
,则什么都不做。
究竟能存什么东西依赖serialize
,如果是json
就只能存可json化的东西,如果是pickle
就只能存可以pickle的东西(我又在讲废话了)。
rimo_storage.cache.disk_cache(*, path=None, compress=None, serialize='json')
一个装饰器,差不多就是标准库的functools.cache
的存硬盘版本,参数的意思和上面一样。
只要使用pip安装就行啦!
pip install rimo-storage
就这样,大家88,我继续回去做实验啦!