我是第一次学习对象序列化。我尝试阅读和“搜索”模块中腌制和搁板的差异,但是我不确定我是否理解。什么时候使用哪个?Pickle可以将每个python对象转换为字节流,这些字节流可以保存到文件中。那为什么我们需要搁置模块呢?泡菜不是更快吗?
泡菜就像是一种非常低级的东西,而搁置为我们提供了更多存储复杂对象的方式吗?
—
zubinmehta 2010年
shelve
提供一个字典样式的腌制界面。酸洗的字典接口可方便地实现诸如结果缓存(这样您就无需进行重新计算)之类的事情了-键是键*args,**kwds
,值是计算结果。
请注意,
—
Mike McKerns 2015年
shelve
请勿启用不能存储pickle
无法腌制的对象的功能。如果您正在寻找一个更好的版本shelve
,它既可以存储大多数python对象,又可以为磁盘或数据库提供更灵活的字典接口……那么您可能要看一下klepto
。请参阅:stackoverflow.com/a/32586980/2379433