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


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 相关文章推荐
Python标准库之sqlite3使用实例
Nov 25 Python
python实现域名系统(DNS)正向查询的方法
Apr 19 Python
python模拟表单提交登录图书馆
Apr 27 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
python实现dijkstra最短路由算法
Jan 17 Python
Python3.5 Pandas模块之DataFrame用法实例分析
Apr 23 Python
Python中的几种矩阵乘法(小结)
Jul 10 Python
Django框架中序列化和反序列化的例子
Aug 06 Python
如何理解python中数字列表
May 29 Python
python Yaml、Json、Dict之间的转化
Oct 19 Python
python 指定源路径来解决import问题的操作
Mar 04 Python
pycharm无法导入lxml的解决办法
Mar 31 Python
基于Pandas读取csv文件Error的总结
Jun 15 #Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 #Python
python微信公众号之关键词自动回复
Jun 15 #Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 #Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
Jun 14 #Python
python的pandas工具包,保存.csv文件时不要表头的实例
Jun 14 #Python
使用python将大量数据导出到Excel中的小技巧分享
Jun 14 #Python
You might like
一个oracle+PHP的查询的例子
2006/10/09 PHP
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
JS 遮照层实现代码
2010/03/31 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
Python随机生成彩票号码的方法
2015/03/05 Python
Python素数检测的方法
2015/05/11 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Python super()函数使用及多重继承
2020/05/06 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
办公室文员工作自我评价
2013/12/01 职场文书
制药工程专业毕业生推荐信
2013/12/24 职场文书
毕业生找工作求职信
2014/08/05 职场文书
刑事代理授权委托书
2014/09/17 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
学校运动会简讯
2015/07/20 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP
Java 死锁解决方案
2022/05/11 Java/Android