简介:
通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
基本语法:
pickle.dump(obj, file, [,protocol]) #以某种格式将对象obj保存到文件file中去
参数:
- obj:序列化对象
- file:要写入的文件,即拥有 write() 方法的对象,或者是 StringIO 对象,或者其他自定义满足条件的对象。
- protocol:可选项。默认为 False,以 ASCII 格式保存对象;若设置为 True,则以压缩的二进制格式保存对象。
将对象格式化(即序列化)
import pickle
f = open("123.dat","wb")
d = pickle.dump(d,f) #以 ascii 格式保存数据
或者
d = pickle.dump(d,f,True) #以二进制格式保存数据
f.close()
注意:在序列化的时候,若是较大对象,建议以二进制格式保存,通过二进制格式保存,要比ASCII格式保存的文件,文件体积小很多
将保存的数据读出来(即反序列化)
import pickle
f = open("123.dat","rb") #以 ascii 格式或者二进制格式保存的文件,可用此方法打开,并读取文件中的数据
d = pickle.load(f)
print(d)
f.close()