Leggi e scrivi esattamente come un dizionario.
>>> import bsddb
>>> db = bsddb.hashopen('mydb.db')
>>> db['FirstName'] = 'Joe'
>>> db['LastName'] = 'Doe'
>>> db['Age'] = '30'
>>> db.close()
>>>
>>> db = bsddb.hashopen('mydb.db')
>>> db['FirstName']
'Joe'
Tuttavia, Berkeley DB memorizza solo coppie di stringhe chiave/valore, quindi forse non è quello di cui hai davvero bisogno se vuoi archiviare quei valori per diverse voci diverse. Se nessun'altra lingua utilizzerà quel file DB, forse puoi utilizzare il modulo Shelve per archiviare i dettagli. Se hai bisogno che sia facile da usare per gli altri, potresti serializzare i dati del modulo come JSON. Qualcosa come questo:
>>> import json
>>> import bsddb
>>> db = bsddb.hashopen('mydb.db')
>>> form = {'FirstName': 'Joe', 'LastName': 'Doe', 'Age': 30}
>>> db['joedoe'] = json.dumps(form)
>>> db.close()
>>>
>>> db = bsddb.hashopen('mydb.db')
>>> json.loads(db['joedoe'])
{'FirstName': 'Joe', 'LastName': 'Doe', 'Age': 30}
Ma francamente, questo inizia a sembrare sempre più simile a un anti-pattern e, a meno che tu non sia assolutamente limitato a usare Berkeley DB per qualche motivo, non dovresti farlo in questo modo. Dovresti usare SQLite per questo.