在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')