によって作成されたデータベースファイルを読み込もうとしています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)
by file
。
そのコンテンツにアクセスするにはどうすればよいですか?正しく理解していれば、実際のデータベースの名前だけを取得しましたkeys()
。これらのデータベースのコンテンツに今すぐアクセスするにはどうすればよいですか?