gpt4 book ai didi

python - 如何强制 python 使用 dumbdbm 模块创建新数据库?

转载 作者:太空狗 更新时间:2023-10-30 01:09:09 25 4
gpt4 key购买 nike

shelve 模块是在 anydbm 模块之上实现的。该模块充当 4 种不同的特定 DBM 实现的外观,它将在创建新数据库时按以下顺序选择第一个可用的模块:

  • dbhash(已弃用但仍是第一个 anydbm 选择)。这是bsddb模块的代理,.open()实际上是bsddb.hashopen()

  • gdbm,GNU DBM 库的 Python 模块,提供比 dbm 模块在与同一库一起使用时所能提供的更多功能。

  • dbm,一个使用 ndbm、BSD DB 和 GNU DBM 库(在编译 Python 时选择)的代理模块。

    <
  • dumbdbm,纯 Python 实现。

但在我的系统中,尽管出于某种原因我有 dbhash,但我希望它仅使用 dumbdbm 创建数据库。

我怎样才能做到这一点?

最佳答案

您无法控制 shelve.open 使用的数据库模块,但有一些解决方法。

最好通常是自己创建数据库并将其传递给 the Shelf constructor手动,而不是调用 shelve.open:

db = dumbdbm.open('mydb')
shelf = shelve.Shelf(db)

第一个参数是任何提供类似于 dict 接口(interface)的对象,可以存储字符串,这正是任何 *dbm 对象的作用。

关于python - 如何强制 python 使用 dumbdbm 模块创建新数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16246168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com