python3下使用bsddb3操作berkeley DB数据库

时间:2021-08-12 20:28:32

1.简介

berkeley DB是一个简单的数据库,用来存储key-value即键值对类型的数据。

python2中自带的bsddb库可以方便的操作Berkeley DB数据库文件(增删改查),可惜这个库在python3中不再自带,好在还是可以自己装一个的。

 

2.安装

首先下载对应版本的whl:https://www.lfd.uci.edu/~gohlke/pythonlibs/#bsddb3

下载完成后在对应目录下 pip install ‘对应的whl名字

 

然后 pip install bsddb3

 

3.使用

创建一个游标的generator,可以不断生成游标的下一个位置

def irecords(curs):
    record = curs.first()
    while record:
        yield record
        record = curs.next()

然后通过for循环就可以实现对数据库的遍历

 

由于数据库中记录一般为二进制,可以通过decode把它们解码为字符串以方便后续处理

 for key, value in irecords(dataname.cursor()):
                key = key.decode(encoding='utf-8')
                value = value.decode(encoding='utf-8')