Python使用Pickle库实现读写序列操作示例

yipeiwu_com6年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

查看Python依赖包及其版本号信息的方法

查看Python依赖包及其版本号信息的方法

查看依赖包及对应的版本号信息的方法有两种: 方法1:pip list 方法2:pip freeze 这两个同时适用于Windows和Linux系统 当pip版本过低时,会出现list命...

通过实例了解python property属性

这篇文章主要介绍了通过实例了解python property属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 什么是prope...

Python应用库大全总结

学Python,想必大家都是从爬虫开始的吧。毕竟网上类似的资源很丰富,开源项目也非常多。 Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 当我们在浏览器中输入一个url后回...

Django stark组件使用及原理详解

Django stark组件使用及原理详解

 stark组件是仿照django的admin模块开发的一套组件,它的作用是在网页上对注册的数据表进行增删改查操作 一、配置 1、创建stark应用,在settings.py...

python实现将元祖转换成数组的方法

本文实例讲述了python实现将元祖转换成数组的方法。分享给大家供大家参考。具体分析如下: python的元祖使用一对小括号表示的,元素是固定的,如果希望添加新的元素,可以先将元祖转换成...