对由'n'个二元组值组成的列表进行序列化
1 个回答
1
我会使用 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()