“搁置”是否只是“ dbm”和“ pickle”的组合?

时间:2019-10-06 22:31:16

标签: python python-3.x pickle shelve dbm

那么shelve中完成的所有操作都可以分别由dbmpickle完成吗?

1 个答案:

答案 0 :(得分:3)

是和否

是的,它依赖于dbmpickle

  

与“ dbm”数据库的区别在于,架子中的值(不是键!)本质上可以是任意的Python对象-pickle模块可以处理的任何事情

     

搁板模块由泡菜支持

不,这些模块的使用方式取决于平台/系统。

  

将使用哪个数据库软件包(例如dbm.ndbm或dbm.gnu)的选择取决于可用的接口。因此,直接使用dbm打开数据库是不安全的。如果使用数据库,数据库也(不幸地)受到dbm的限制-这意味着存储在数据库中的对象(的腌制形式)应该很小,在极少数情况下,键冲突可能导致数据库崩溃。拒绝更新。


official documentation中的更多内容。