Posted in Python onJune 15, 2018
本文实例讲述了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使用Pickle库实现读写序列操作示例
- Author -
Claroja声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@