Python pickle模块用法实例


Posted in Python onApril 14, 2015

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

基本接口:

pickle.dump(obj, file, [,protocol])

注解:将对象obj保存到文件file中去。

protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;1:老式的二进制协议;2:2.3版本引入的新二进制协议,较以前的更高效。其中协议0和1兼容老版本的python。protocol默认值为0。

file:对象保存到的类文件对象。file必须有write()接口, file可以是一个以'w'方式打开的文件或者一个StringIO对象或者其他任何实现write()接口的对象。如果protocol>=1,文件对象需要是二进制模式打开的。

pickle.load(file)
注解:从file中读取一个字符串,并将它重构为原来的python对象。
file:类文件对象,有read()和readline()接口。

A Simple Code

#使用pickle模块将数据对象保存到文件  import pickle
data1 = {'a': [1, 2.0, 3, 4+6j], 'b': ('string', u'Unicode string'), 'c': None}
selfref_list = [1, 2, 3]

selfref_list.append(selfref_list)
output = open('data.pkl', 'wb') # Pickle dictionary using protocol 0. pickle.dump(data1, output) # Pickle the list using the highest protocol available. pickle.dump(selfref_list, output, -1)
output.close()

 
#使用pickle模块从文件中重构python对象  import pprint, pickle
pkl_file = open('data.pkl', 'rb')
data1 = pickle.load(pkl_file)

pprint.pprint(data1)
data2 = pickle.load(pkl_file)

pprint.pprint(data2)
pkl_file.close()
Python 相关文章推荐
pyqt和pyside开发图形化界面
Jan 22 Python
python网络编程实例简析
Sep 26 Python
简单实现Python爬取网络图片
Apr 01 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
Python Process多进程实现过程
Oct 22 Python
Python pandas自定义函数的使用方法示例
Nov 20 Python
利用Python代码实现一键抠背景功能
Dec 29 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
Jan 13 Python
python uuid生成唯一id或str的最简单案例
Jan 13 Python
python3判断IP地址的方法
Mar 04 Python
使用Python的PEAK来适配协议的教程
Apr 14 #Python
Python全局变量操作详解
Apr 14 #Python
Python and、or以及and-or语法总结
Apr 14 #Python
Python线程的两种编程方式
Apr 14 #Python
Python中的测试模块unittest和doctest的使用教程
Apr 14 #Python
利用Python中的输入和输出功能进行读取和写入的教程
Apr 14 #Python
对于Python编程中一些重用与缩减的建议
Apr 14 #Python
You might like
php 生成唯一id的几种解决方法
2013/03/08 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
js调用flash的效果代码
2008/04/26 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
使用jQuery获得内容以及内容的属性
2015/02/26 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
python实现顺序表的简单代码
2018/09/28 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
学前教育教师求职自荐信
2013/09/22 职场文书
中学生英语演讲稿
2014/04/26 职场文书
红头文件任命书范本
2014/06/05 职场文书
保护水资源的标语
2014/06/17 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
专题民主生活会对照检查材料思想汇报
2014/09/29 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
欠款起诉书范文
2015/05/19 职场文书
就业推荐表院系意见
2015/06/05 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
修辞手法有哪些?
2019/08/29 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python