所以在里面完成的所有事情都shelve
可以用dbm
and单独完成pickle
?
问问题
285 次
1 回答
4
是和否。
是的,它依赖于dbm
and pickle
。
与“dbm”数据库的区别在于架子中的值(不是键!)本质上可以是任意 Python 对象——pickle 模块可以处理的任何东西
shelve 模块由 pickle 支持
不,这些模块的使用方式取决于平台/系统。
选择使用哪个数据库包(例如 dbm.ndbm 或 dbm.gnu)取决于可用的接口。因此直接使用dbm打开数据库是不安全的。如果使用数据库,数据库也(不幸地)受到 dbm 的限制——这意味着存储在数据库中的对象(腌制表示)应该相当小,并且在极少数情况下,键冲突可能会导致数据库拒绝更新。
更多在官方文档中。
于 2019-10-06T22:53:22.940 回答