美文网首页
pickle序列化存储

pickle序列化存储

作者: 一位学有余力的同学 | 来源:发表于2020-05-29 12:17 被阅读0次

1.为什么要进行序列化存储

在程序运行过程中所有的变量都是存在内存中,一旦程序关闭或者电脑关机,内存中的所有数据都会丢失。为了能够继续使用,我们需要将数据存放在硬盘里。

我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。

序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。

2.如何进行序列化与反序列化

首先,我们尝试把一个对象序列化并写入文件:

import pickle
d = dict(name='Bob', age=20, score=88)

with open('data.pkl', 'wb') as ff:
    pickle.dump(d, ff)

此时,会在相同目录下产生一个‘data.pkl’文件,这个文件是人类不可读的。
with open() as是python中打开文件夹的一种操作,‘wb’是以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
关于python中open的用法和读写文件的操作,请分别访问博客教程了解。

序列化操作完成之后我们要进行反序列化:

with open('data.pkl', 'rb') as ff:
    data1 = pickle.load(ff)
    print(data1)

其中'rb'表示只读操作。
输出结果为:

{'name': 'Bob', 'age': 20, 'score': 88}

相关文章

  • python基础 序列化

    序列化:变量在内存中变成可存储或传输的过程。 模块:pickle 方法:序列化:pickle.dumps(d)/p...

  • Python对象序列化和反序列化(json)(11)

    序列化:把变量从内存中变成可存储或传输的过程。 Python中内置了pickle模块来实现序列化。 pickle模...

  • 利用Python进行数据分析(九)

    二进制数据格式 pickle序列化 实现二进制存储最简单方法就是使用pickle序列化。pandas可以用fram...

  • 决策树实现

    基于ID3算法的信息增益来实现 使用Pickle模块存储决策树 pickle是为了序列化/反序列化一个对象的,可以...

  • Python常用模块pickle——对象序列化

    作用 对Python对象进行序列化,便于存储和传输 Python对象序列化成bytes类型 pickle.dump...

  • 序列化python对象

    pickle.dump 序列化至文件 pickle.load 从文件反序列化 pickle.dumps 序列化至字...

  • 【WHL】DNSLOG_WHL

    WHL调度 WHL细节 cookiejar的存储和读取由pickle序列化与反序列化完成,headers采用随机库...

  • json(pickle)

    序列化:将变量从内存中变为可存储或传输的过程;反序列化:把序列化的内容重新读到内存; pickle python ...

  • pickle序列化存储

    1.为什么要进行序列化存储 在程序运行过程中所有的变量都是存在内存中,一旦程序关闭或者电脑关机,内存中的所有数据都...

  • 自制人工智能TensorFlow之04 pickle序列化与反序

    自制人工智能TensorFlow之04 pickle序列化与反序列化 在机器学习中,我们常常需要把训练好的模型存储...

网友评论

      本文标题:pickle序列化存储

      本文链接:https://www.haomeiwen.com/subject/bjjxzhtx.html