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中使用base64模块处理字符编码的教程
Apr 28 Python
python查询sqlite数据表的方法
May 08 Python
Python中的字符串操作和编码Unicode详解
Jan 18 Python
python交互式图形编程实例(三)
Nov 17 Python
彻底搞懂Python字符编码
Jan 23 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
Python3.5面向对象与继承图文实例详解
Apr 24 Python
python保存字典和读取字典的实例代码
Jul 07 Python
基于numpy中的expand_dims函数用法
Dec 18 Python
Python 内置变量和函数的查看及说明介绍
Dec 25 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
python3中数组逆序输出方法
Dec 01 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP个人网站架设连环讲(三)
2006/10/09 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
javascript常用对话框小集
2013/09/13 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
js实现仿购物车加减效果
2017/03/01 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
python 网络爬虫初级实现代码
2016/02/27 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
Python入门_条件控制(详解)
2017/05/16 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
python制作朋友圈九宫格图片
2019/11/03 Python
Django配置文件代码说明
2019/12/04 Python
中国首家奢侈品O2O网购平台:第五大道奢侈品网
2017/12/14 全球购物
生产班组长岗位职责
2014/01/05 职场文书
小学生元旦感言
2014/02/26 职场文书
JavaScript异步操作中串行和并行
2021/11/20 Javascript
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers