首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python DBM Module for Windows?

Python DBM Module for Windows?
EN

Stack Overflow用户
提问于 2010-08-05 01:51:08
回答 4查看 5K关注 0票数 8

我想在我的Windows机器上使用dbm模块,但目前只在Unix上支持它。http://docs.python.org/library/dbm.html

有没有人知道有一个类似的模块,具有类似的语法或变通方法,可以在windows上实现dmb功能?能够访问写入硬盘驱动器的数据库,就像我编写代码访问字典一样,这将是非常棒的。谢谢你的帮助!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-05 01:57:08

实际上,经过更多的谷歌搜索后,我发现了这个:

http://docs.python.org/library/anydbm.html#module-anydbm

我已经在windows上试过了,它似乎工作得很好=)

票数 6
EN

Stack Overflow用户

发布于 2012-03-15 12:01:59

基于使用Python 2.7.2的Windows7系统上的以下测试,似乎Windows安装程序支持dbhash。

代码语言:javascript
复制
import os

import anydbm

import whichdb

file = os.curdir + '/testdbm'   # define a test file name in the current directory

d = anydbm.open(file, 'c')      # create a new database using the test file name

db_type = whichdb.whichdb(file) # get the dbm database type

print(db_type)                  # display the result

'dbhash'
票数 4
EN

Stack Overflow用户

发布于 2017-07-15 22:02:39

如果Python3有意义,我会选择外部的k-v解决方案,因为dumbdbm不是joy。

一些纯Python选项:

  • semidbm -- dumbdbm的一种更快的替代方案,仅限Python标准库,即pip和go。如果我想确保users.
  • PickleDB的可移植性和可用性,我会选择使用json来序列化数据。仅限Standrad库,我没有对其进行基准测试,但我怀疑它比semidbm慢,因为序列化overhead.
  • Petite DB -我自己使用Python的zipfile模块的简单解决方法。书中的基本测试,但还没有准备好投入生产。

还有对LMDBUnQLiteSQLite4 LSM的Python包装器,所有这些都支持Windows,尽管SQLite4绑定没有经过测试。

后两个出自Charles Leifer之手,他既精通k-v stores,又是一位狂热的Python开发人员(参见Peewee)。

至于LMDB,我已经尝试了一段时间了。没有抱怨,但它使用了事务模型,你不能像其他数据库管理那样使用它,除非你子类化/组合/提交一个拉取请求等。另外,它显式地doesn't utilize compression (参见also),这是我感兴趣的东西。

所以LMDB并不能完全满足我的特定需求。它看起来确实很有能力,绑定工作得很好,安装它们也不麻烦(pip对我来说很有效,不需要单独安装LMDB,也不需要为此带来任何麻烦)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3408272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档