2

Python 3.5 と bsddb3 を使用して、Berkeley DB データベースにデータを書き込もうとしています。Berkeley DB の経験はありませんが、タイムスタンプをキーとして使用し、JSON データをそれぞれの値として使用するのが好きです。次の例では、エラーが発生します。

#!/usr/bin/env python3

import bsddb3
import time

fn = 'berkeley.db'
db = bsddb3.hashopen(fn, 'c')
t = time.time()
d = "{ data: 'foo' }"
db[t] = d
db.close()

エラー:

$ python3 example.py
[...]
self.db[key] = value
TypeError: Bytes or Integer object expected for key, float found

time.time()たとえば、の代わりに整数を使用してdb[0] = dataも機能しませんTypeError: Integer keys only allowed for Recno and Queue DB's

残念ながら、Python で Berkeley DB を使用する方法に関する包括的なドキュメントはありません。私が間違っていることに関する提案はありますか?

4

1 に答える 1