Python:pickle模块学习

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对象

猜你喜欢

转载自www.cnblogs.com/huiAlex/p/8861807.html