python数据持久存储:pickle模块的基本使用
来源:互联网 发布:灰度共生矩阵 svm 编辑:程序博客网 时间:2024/05/21 12:41
python数据持久存储:pickle模块的基本使用
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()
作者: pzxbc
出处: http://pzxbc.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类: Python
标签: python, pickle, 数据持久存储
好文要顶 关注我 收藏该文
9
0
« 上一篇:python中获取打包成执行文件(exe)和脚本运行文件的路径
» 下一篇:一个快速的多边形填充算法
» 下一篇:一个快速的多边形填充算法
</div> <div class="postDesc">posted @ <span id="post-date">2012-03-18 15:53</span> <a href="http://www.cnblogs.com/pzxbc/">pzxbc</a> 阅读(<span id="post_view_count">46069</span>) 评论(<span id="post_comment_count">2</span>) <a href="https://i.cnblogs.com/EditPosts.aspx?postid=2404715" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(2404715);return false;">收藏</a></div></div><script type="text/javascript">var allowComments=true,cb_blogId=101965,cb_entryId=2404715,cb_blogApp=currentBlogApp,cb_blogUserGuid='b9dd2bb6-5110-e111-b422-842b2b196315',cb_entryCreatedDate='2012/3/18 15:53:00';loadViewCount(cb_entryId);</script>
发表评论
pickle是个有意思的模块
支持(0)反对(0)
文章很有用,转载了
支持(0)反对(0)
http://pic.cnblogs.com/face/363228/20140916134153.png注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。
【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
【活动】优达学城正式发布“无人驾驶车工程师”课程
【推荐】移动直播百强八成都在用融云即时通讯云
【推荐】别再闷头写代码!找对工具,事半功倍,全能开发工具包用起来
【福利】网易云信1周年接入开发者突破10万,送红包活动火热开展中
【活动】优达学城正式发布“无人驾驶车工程师”课程
【推荐】移动直播百强八成都在用融云即时通讯云
【推荐】别再闷头写代码!找对工具,事半功倍,全能开发工具包用起来
【福利】网易云信1周年接入开发者突破10万,送红包活动火热开展中
最新IT新闻:
· 美国网络瘫痪急着找中国公司背锅,但更大的问题还在后面
· 携程投资美国三大旅行社 全面布局北美旅游市场
· 大疆推新款远摄变焦云台相机 可进行交通监控
· 微软股价悄悄破了纪录,这事儿至少有两个原因
· 太拼了 中兴手机最早创始人之一时隔14年出任公司CEO
» 更多新闻…
· 美国网络瘫痪急着找中国公司背锅,但更大的问题还在后面
· 携程投资美国三大旅行社 全面布局北美旅游市场
· 大疆推新款远摄变焦云台相机 可进行交通监控
· 微软股价悄悄破了纪录,这事儿至少有两个原因
· 太拼了 中兴手机最早创始人之一时隔14年出任公司CEO
» 更多新闻…
最新知识库文章:
· 技术的正宗与野路子
· 陈皓:什么是工程师文化?
· 没那么难,谈CSS的设计模式
· 程序猿媳妇儿注意事项
· 可是姑娘,你为什么要编程呢?
» 更多知识库文章…· 陈皓:什么是工程师文化?
· 没那么难,谈CSS的设计模式
· 程序猿媳妇儿注意事项
· 可是姑娘,你为什么要编程呢?
</div><!--end: forFlow --></div><!--end: mainContent 主体内容容器--><div id="sideBar"> <div id="sideBarMain">
<
0 0
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- python数据持久存储:pickle模块的基本使用
- 自己编写代码实现atoi和itoa函数的功能
- java BigDecimal加法/减法/乘法/除法 保留两位小数
- 进程之信号通信
- 矩阵的快速转置
- 关于嵌入式的入门
- python数据持久存储:pickle模块的基本使用
- H5_Node1_新标签&新属性& 硬件调用
- FragmentTransaction与Fragment生命周期的关系
- Android基础--Activity生命周期
- CodeForces 681B Economy Game (暴力)
- ViewPager的setOnPageChangeListener方法详解
- JSP基础语法
- 进程
- 奔三奶爸初学php心得记录(第一天)