本文实例讲述了Python使用Pickle库实现读写序列操作。分享给大家供大家参考,具体如下:
简介
pickle模块实现了用于对Python对象结构进行序列化和反序列化的二进制协议。“Pickling"是将Python对象转换为字节流的过程,“unpickling"是反向操作,由此字节流二进制文件或字节对象)转换回对象结构。
模块方法
pickle.dump(obj, file, protocol=None, *, fix_imports=True)
将obj以二进制形式写入file-object文件
pickle.dumps(obj, protocol=None, *, fix_imports=True)
将obj编译为二进制对象
pickle.load(file, *, fix_imports=True, encoding="ASCII", errors="strict")
dump的反向操作
pickle.loads(bytes_object, *, fix_imports=True, encoding="ASCII", errors="strict")
dumps的反向操作
pickle
而以二进制读取的一个妙用就是保存matplotlib的交互式图片页面:
保存交互式图片页面
import matplotlib.pyplot as plt import pickle as pl #调用matplotlib的figure对象 fig = plt.figure() x = [1,2,3,4,5] y = [1,2,3,4,5] plt.plot(x,y) #序列化figure对象,并保存 pl.dump(fig,open('C:/Users/Administrator/Desktop/fig.pickle','wb'))
读取交互式页面:
import matplotlib.pyplot as plt import pickle as pl # 载入序列化文件 fig = pl.load(open('C:/Users/Administrator/Desktop/fig.pickle','rb')) plt.show() # 获得图片信息 print(fig.axes[0].lines[0].get_data())
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。