ITPub博客

首页 > 应用开发 > > 「33」Python的序列化与反序列化

「33」Python的序列化与反序列化

作者:coyan 时间:2019-11-20 16:25:50 0 删除 编辑

职说职语 



【1】概念

Python 中,一切皆对象,对象本质上就是一个“存储数据的内存块”。有时候,我们需要将“内存块的数据”保存到硬盘上,或者通过网络传输到其他的计算机上。

对象的序列化和反序列化就是在这样的场景下产生。

对象的序列化机制广泛的应用在分布式、并行系统上。

序列化指的是:将对象转化成“串行化”数据形式,存储到硬盘或通过网络传输到其他地方。

反序列化是指相反的过程,将读取到的“串行化数据”转化成对象。

Python中使用 pickle 模块中的函数,实现序列化和反序列操作。

pickle.dump(obj, file): obj 就是要被序列化的对象,file 指的是存储的文件。

pickle.load(file): 从 file 读取数据,反序列化成对象

【2】序列化

# 将对象序列化到文件中

import pickle

with open(r"data.dat","wb") as f:

s1 = "职说职语"

s2 = 36

s3 = [100,59,78]

pickle.dump(s1,f)

pickle.dump(s2,f)

pickle.dump(s2,f)

序列化执行效果见图:

【3】反序列化

# 将获得的数据反序列化成对象

import pickle

with open(r"data.dat","rb") as f:

s1 = pickle.load(f)

s2 = pickle.load(f)

s3 = pickle.load(f)

print(s1)

print(s2)

print(s3)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2236/viewspace-3135605/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-11

  • 博文量
    271
  • 访问量
    16168