Я бы использовал cPickle
, это прекрасно работает,
# Dummy data
from random import randint as r
a,b = 97,123
d = [(dict([(chr(r(a,b)),j) for j in range(1000)]),
''.join([chr(r(a,b)) for i in range(5)]))
for j in range(100)]
# Pickle it
import cPickle as pickle
f = open('store.dat','w')
pickle.dump(d,f)
f.close()
Я бы также рассмотрел использование чего-то вроде dumbdbm .
Добавлено позже
Исходя из приведенного выше примера, вы можете сделать что-то вроде этого,
import dumbdbm as dbm
g = dbm.open('store.db')
g.update([(str(i),pickle.dumps(j)) for i,j in enumerate(d)])
g.close()