我想在我的Windows机器上使用dbm模块,但目前只在Unix上支持它。http://docs.python.org/library/dbm.html
有没有人知道有一个类似的模块,具有类似的语法或变通方法,可以在windows上实现dmb功能?能够访问写入硬盘驱动器的数据库,就像我编写代码访问字典一样,这将是非常棒的。谢谢你的帮助!
发布于 2010-08-05 01:57:08
实际上,经过更多的谷歌搜索后,我发现了这个:
http://docs.python.org/library/anydbm.html#module-anydbm
我已经在windows上试过了,它似乎工作得很好=)
发布于 2012-03-15 12:01:59
基于使用Python 2.7.2的Windows7系统上的以下测试,似乎Windows安装程序支持dbhash。
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'发布于 2017-07-15 22:02:39
如果Python3有意义,我会选择外部的k-v解决方案,因为dumbdbm不是joy。
一些纯Python选项:
还有对LMDB、UnQLite和SQLite4 LSM的Python包装器,所有这些都支持Windows,尽管SQLite4绑定没有经过测试。
后两个出自Charles Leifer之手,他既精通k-v stores,又是一位狂热的Python开发人员(参见Peewee)。
至于LMDB,我已经尝试了一段时间了。没有抱怨,但它使用了事务模型,你不能像其他数据库管理那样使用它,除非你子类化/组合/提交一个拉取请求等。另外,它显式地doesn't utilize compression (参见also),这是我感兴趣的东西。
所以LMDB并不能完全满足我的特定需求。它看起来确实很有能力,绑定工作得很好,安装它们也不麻烦(pip对我来说很有效,不需要单独安装LMDB,也不需要为此带来任何麻烦)。
https://stackoverflow.com/questions/3408272
复制相似问题