http://www.cnblogs.com/pzxbc/archive/2012/03/18/2404715.html

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()

转载于:https://www.cnblogs.com/DjangoBlog/p/3641861.html

python数据持久存储:pickle模块的基本使用相关推荐

  1. python中有关数据持久存储:pickle模块的基本使用

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

  2. 零基础入门学习Python(29)pickle模块

    作用 pickle模块几乎可以把所有Python的对象都转化为二进制的形式存放,这个过程称为pickling,从二进制形式转换为对象的过程称为unpickling. pickle.dump9data, ...

  3. 设计海量key-value数据的存储查询模块

    http://www.cnblogs.com/iamzhaiwei/archive/2012/09/02/2689653.html 单机存储100亿大数据量的key-value数据,要求能够支持插入和 ...

  4. python 3 中的pickle模块 阿波的博客

    只是说pickle模块的最简单的使用,如果想要仔细学习pickle的话,可以找一下别的博客,或者阅读一下pickle的源代码.查阅一下文档都是可以的, 那就先看一下如何找到pickle的源程序嘞... ...

  5. python数据的存储结构是指_python数据结构

    一.算法入门 程序设计 = 数据结构 + 算法 算法时为了解决实际问题而设计的,数据结构是算法需要处理的问题载体 数据结构只是静态的描述呢数据元素之间的关系 高效的程序需要再数据结构的基础上设计和选择 ...

  6. python三十五:pickle模块

    pickle和json的用法是一样的.但 pick序列化后的数据是字节,不是字符串.所以pickle可以序列化函数,对象等. import pickledic = {"name": ...

  7. python 列表 字典 读写文件:pickle模块的基本使用

    建议大家使用cPickle,速度更快!!! python数据持久存储:pickle模块的基本使用(转载) 作者: pzxbc 出处: http://pzxbc.cnblogs.com/ 本文版权归作者 ...

  8. python写一个很简单的Atm机系统,使用pickle模块和json模块来保存数据

    我做的是一个很简单的Atm系统,很多都没约束条件 目的: 用面向对象思维来处理 运用文件的读写 文件的读写用pickle模块和json模块来处理 pickle模块: pickle模块处理数据功能很强大 ...

  9. Python标准库中的pickle模块

     pickle  -  Python对象序列化. pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议."pickle"是将Python对象层次结构转换为 ...

  10. Python编程——pickle模块的使用详解(附实例)

    1.  模块的介绍 在介绍pickle模块之前,我们先了解一下python中的模块以及模块的分类,可以让我们对模块有更深入的了解. (1) 模块是什么: Python 模块(Module),是一个 P ...

最新文章

  1. 测试心得:微图书销售小程序
  2. nginx配置文件中,location字段里面的root字段和别名alias
  3. python下载图片的命令_网上的图片不知道怎么批量下载?python教你怎么把网站上面的图片都爬下来...
  4. Python 37 进程池与线程池 、 协程
  5. (转)SSDTShadow Hook的实现,完整代码
  6. Visual Studio 2019报错:缺少mfc120.dll
  7. C#-SpecialFolder-特殊路径获取
  8. 用cmd 查看本机的IP地址
  9. OTT盒子市场起量正当时 12家主控厂商争夺3000万市场
  10. m180n 如何设置网络打印_不难!简单几步教你搞定网络打印机添加设置
  11. 人工智能对智能建筑有哪些影响,智能建筑发展存在哪些问题?
  12. 计算机里的网络怎么用,电脑不用路由器怎么连接宽带上网?
  13. 登录公司邮箱服务器怎么选,企业邮箱怎么选
  14. mysql dp.cal 显示汉子_JS日历插件 - My97 DatePicker
  15. PHP中奇葩的 ?:,??,isset,empty
  16. 如何在windows系统下安装swoole(cgywin环境)
  17. 华为鲲鹏HCIA考试-练习09
  18. 非科班出身拿下字节跳动前端offer,我有一份50000字面试宝典分享给你!
  19. PS4二战在线游戏连接不上服务器,使命召唤14:二战打不开怎么办 游戏无法运行解决办法汇总...
  20. Nginx-应用:静态资源部署、反向代理以及负载均衡

热门文章

  1. CentOS6/CentOS7系统配置IPv6地址的方法
  2. Netty中有哪些自带的ChannelHandler?
  3. Java-P: 1、程序设计语言的分类
  4. 在ntpdate同步时间的时候出现“the NTP socket is in use, exiting”
  5. HelloMybatis
  6. flask before_request after_request
  7. 12月10日站立会议
  8. Lesson 002 —— 网络七层模型
  9. unsupported major.monor version 51.0 (unable to load *.servlet)………………
  10. python时序数据分析--以示例说明