我正在尝试读取由reprepro
. 我对 bdb 没有太多经验,所以在这里我可能会感到困惑,但看起来数据库以某种方式分层。
如果我只是这样做btopen('path/to/packages.db', 'r')
,我会得到包含以下内容的数据库对象:
In [4]: packages.items()
Out[4]:
[('local-lenny|main|amd64', '\x00\x00\x00\x04'),
('local-lenny|main|i386', '\x00\x00\x00\x02'),
('local-lenny|main|powerpc', '\x00\x00\x00\x14'),
('local-lenny|main|source', '\x00\x00\x00\x06'),
('local-lenny|main|sparc', '\x00\x00\x00\x12')]
但是 db4.6_dump 显示:
VERSION=3
format=bytevalue
database=local-lenny|main|sparc
type=btree
db_pagesize=4096
HEADER=END
<loads of data>
文件本身被标识为:/var/packages/db/packages.db: Berkeley DB (Btree, version 9, native byte-order)
由file
.
我如何获得这些内容?如果我理解正确,我只得到了keys()
. 我现在如何获取这些数据库的内容?