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通过正则查找微博@(at)用户的方法
Mar 13 Python
Python中优化NumPy包使用性能的教程
Apr 23 Python
约瑟夫问题的Python和C++求解方法
Aug 20 Python
Python操作Excel之xlsx文件
Mar 24 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
对Python中的@classmethod用法详解
Apr 21 Python
详解Python中的type和object
Aug 15 Python
Python3.5 处理文本txt,删除不需要的行方法
Dec 10 Python
python的继承知识点总结
Dec 10 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
Python中过滤字符串列表的方法
Dec 22 Python
使用Python获取字典键对应值的方法
Apr 26 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
PHP+XML 制作简单的留言本 图文教程
2009/11/02 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
JavaScript函数详解
2015/02/27 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
基于Webpack4和React hooks搭建项目的方法
2019/02/05 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
详解Python中with语句的用法
2015/04/15 Python
Python对象转JSON字符串的方法
2016/04/27 Python
python变量不能以数字打头详解
2016/07/06 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2016/02/09 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
公司承诺书范文
2014/05/19 职场文书
网络营销计划
2015/01/17 职场文书
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js