Ali*_*_IT 5 python database unix shelve
该shelve模块在anydbm模块顶部实现.此模块充当4种不同特定DBM实现的外观,它将按以下顺序选择创建新数据库时可用的第一个模块:
dbhash
(已弃用但仍是anydbm首选).这是bsddb模块的代理,.open()真的bsddb.hashopen()
gdbm,GNU DBM库的Python模块,提供的功能比dbm模块在与同一个库一起使用时提供的功能更多.
dbm,一个使用ndbmBSD DB和GNU DBM库的代理模块(在编译Python时选择).
dumbdbm,一个纯python实现.
但是在我的系统中,虽然我dbhash出于某种原因我希望它只是用它来创建数据库dumbdbm.
我怎样才能做到这一点?
您无法控制db模块shelve.open使用的内容,但有一些解决方法.
最好的通常是创建自己的数据库,并将它传递给了Shelf构造函数手动,而不是调用shelve.open:
db = dumbdbm.open('mydb')
shelf = shelve.Shelf(db)
Run Code Online (Sandbox Code Playgroud)
第一个参数是任何提供类似dict接口的对象,它可以存储字符串,这正是任何*dbm对象所在的.