shelveライブラリを使用できます。棚のドキュメントから:
「シェルフ」は永続的な辞書のようなオブジェクトです。dbm データベースとの違いは、シェルフ内の値 (キーではありません!) は、本質的に任意の Python オブジェクト ("pickle" モジュールが処理できるものなら何でも) にできることです。
import shelve
d = shelve.open(filename) # open, with (g)dbm filename -- no suffix
d[key] = data # store data at key (overwrites old data if
# using an existing key)
data = d[key] # retrieve a COPY of the data at key (raise
# KeyError if no such key) -- NOTE that this
# access returns a *copy* of the entry!
del d[key] # delete data stored at key (raises KeyError
# if no such key)
flag = d.has_key(key) # true if the key exists; same as "key in d"
list = d.keys() # a list of all existing keys (slow!)
d.close()