在Python中如果我們有一些物件需要持久性存儲,並且不丟失我們這個物件的類型與數據,我們則需要將這些物件進行序列化,序列化之後,需要使用的時候,我們再恢復為原來的數據。序列化的這種過程,我們稱之為pickle (醃製)。恢復的過程稱為反的pickle
將物件進行pickle有兩種形式,一種是將物件序列化,另一種是將物件儲存在檔案中來序列化
在python中有pickle這個模組,我們只需導入就可以。
# pickle腌制 import pickle #导入pickle模块 #dumps(object)将对象序列化 lista = ["mingyue","jishi","you"]#这个列表就是一个对象,我们要将这个列表对象序列化 listb = pickle.dumps(lista)#pickle模块里面的dumps()函数用于将对象序列化,然后将经过序列化的列表赋给listb print listb
输出为: (lp0 S'mingyue' p1 aS'jishi' p2 aS'you' p3 a.
#load(string)将对象原样恢复,并且对象类型也恢复了原来的格式
listc = pickle.loads(listb)
print listc
#dump(object, file)将对象存储到文件里面序列化,这里是dump,与前面的dumps相差了一个s f1 = file('1.pkl', 'wb') pickle.dump(group1, f1, True) f1.close()
#load(object, file)存储在文件里面的数据恢复 f2 = file('1.pkl', 'rb') t = pickle.load(f2) print t f2.close()
输出为: ('bajiu', 'wen', 'qingtian')