Le lees y te escribes exactamente como un diccionario.
>>> 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'
Sin embargo, Berkeley DB almacena solo pares de cadenas clave/valor, por lo que tal vez eso no es lo que realmente necesita si desea almacenar esos valores para varias entradas diferentes. Si ningún otro idioma utilizará ese archivo DB, tal vez pueda usar el módulo de Shelve para almacenar dicts en escabeche. Si necesita que sea fácil de usar para otros, podría serializar sus datos de formulario como JSON. Algo como esto:
>>> 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}
Pero, francamente, esto comienza a parecerse cada vez más a un antipatrón, y a menos que esté absolutamente restringido a usar Berkeley DB por alguna razón, no debería hacerlo de esa manera. Debería usar SQLite para eso.