# -*-  coding:utf-8 -*-
'''
pickle 估计是最通用的序列化模块了,它还有个C 语言的实现cPickle,相比pickle 来说
具有较好的性能,其速度大概是pickle 的1000 倍,因此在大多数应用程序中应该优先使用
cPickle(注:cPickle 除了不能被继承之外,它们两者的使用基本上区别不大,除有特殊情况,
本节将不再做具体区分)。pickle 中最主要的两个函数对为dump() 和load(),分别用来进行对
象的序列化和反序列化。 ‰pickle.dump(obj, file[, protocol]) :序列化数据到一个文件描述符(一个打开的文件、
套接字等)。参数obj 表示需要序列化的对象,包括布尔、数字、字符串、字节数组、
None、列表、元组、字典和集合等基本数据类型,此外picike 还能够处理循环,递归
引用对象、类、函数以及类的实例等。参数file 支持write() 方法的文件句柄,可以为
真实的文件,也可以是StringIO 对象等。protocol 为序列化使用的协议版本,0 表示
ASCII 协议,所序列化的对象使用可打印的ASCII 码表示;1 表示老式的二进制协议;
2 表示2.3 版本引入的新二进制协议,比以前的更高效。其中协议0 和1 兼容老版本
的Python。protocol 默认值为0。 ‰load(file):表示把文件中的对象恢复为原来的对象,这个过程也被称为反序列化。
  来看一下load() 和dump() 的示例。 '''
import cPickle as pickle
my_data = {"name" : "Python", "type" : "Language", "version" : "2.7.5"}
fp = open("picklefile.dat", "wb") # 打开要写入的文件
pickle.dump(my_data, fp) # 使用dump 进行序列化
fp.close() fp = open("picklefile.dat", "rb")
out = pickle.load(fp) # 反序列化 fp.close() #通用做法如下
with open("picklefile.dat", "rb") as fp:
try:
lastfileList = pickle.load(fp)
except EOFError:
print "Load (filename) was failed"%{'filename':'picklefile.dat'}

最新文章

  1. 怎样制作FL Studio步进音序器中的节奏
  2. ubuntu16.04中将python3设置为默认
  3. [Android]ADB Server didn't ACK错误的解决方法
  4. webapp 公共样式
  5. android 左右翻页
  6. Linq查询操作之投影操作
  7. PHP+七牛云存储上传图片代码片段
  8. js object 对象 属性和方法的使用
  9. Button的图像位置设置
  10. C# 前台线程与后台线程的区别和联系
  11. Windows优化大师最新版 V7.99 Build 12.604发布
  12. 11061160_11061151_Pair Project: Elevator Scheduler软件工程结对编程作业总结
  13. Android 中 ListView Adapter getView 被多次调用问题 解决方法
  14. JavaScript 中的内存和性能、模拟事件(读书笔记思维导图)
  15. 学号:201521123116 《java程序设计》第六周学习总结
  16. Ubuntu14.04+Nginx+MySql+PHP环境配置
  17. 第二篇:操纵MySQL数据库(2) - 基于ORM思想的SQLAlchemy库
  18. 容器概念与Linux Container原理
  19. [PDFBox]后台操作pdf的工具类
  20. 动态BT跳转

热门文章

  1. Web前端都学点儿啥?
  2. Eureka 2.0 闭源--选择Consul???
  3. RL for Robots
  4. Android APK反编译就这么简单 具体解释
  5. Mustache(3)
  6. ERROR 1130: Host '' is not allowed to connect to thisMySQL server
  7. node.js的安装与第一个hello world、node.js的初始化
  8. c#文件流汇总
  9. StartCom免费ssl证书申请以及在Tomcat环境中的配置
  10. POJ 3259 Wormholes【bellman_ford判断负环——基础入门题】