码迷,mamicode.com
首页 > 编程语言 > 详细

Python:pickle模块学习

时间:2018-04-17 11:44:23      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:dump   反序列化   数据   序列   文件中   作用   定义   AC   不同   

1. pickle模块的作用

将字典、列表、字符串等对象进行持久化,存储到磁盘上,方便以后使用

 

2. pickle对象串行化

pickle模块将任意一个python对象转换成一系统字节的这个操作过程叫做串行化对象

 

3. pickle和cpickle

Python标准库提供pickle和cPickle模块。cPickle是用C编码的,在运行效率上比pickle要高,但是cPickle模块中定义的类型不能被继承(其实大多数时候,我们不需要从这些类型中继承,推荐使用cPickle)。cPickle和pickle的序列化/反序列化规则是一样的,使用pickle序列化一个对象,可以使用cPickle来反序列化

 

4. pickle中常用的函数

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

作用:将要持久化的数据“对象”,保存到“文件”中,使用有3种协议,索引0为ASCII,1为旧式二进制,2为新式二进制协议,不同之处在于2要更高效一些(默认使用0协议)

 

(2)pickle.load(file)

作用:从“文件”中读取字符串,将他们反序列化转换为python的数据对象

 

(3)pickle.dumps(obj[, protocol])

作用:将obj对象序列化为string形式,而不是存入文件中

  • obj:想要序列化的obj对象
  • protocal:如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本

(4)pickle.loads(string)

作用:从string中读出序列化前的obj对象

Python:pickle模块学习

标签:dump   反序列化   数据   序列   文件中   作用   定义   AC   不同   

原文地址:https://www.cnblogs.com/huiAlex/p/8861807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!