Python中 pickle 模块的 dump() 和 load() 方法详解

1. 概述

Python中的 pickle 模块实现了基本的数据序列与反序列化。
序列化对象可以在磁盘上保存对象,并在需要的时候读取出来。
任何对象都可以执行序列化操作。

2. dump()方法
2.1 用法

pickle.dump(obj, file, protocol)
注释:
obj——序列化对象,将对象obj保存到文件file中去;
file——file表示保存到的类文件对象,file必须有write()接口,file可以是一个以’w’打开的文件或者是一个StringIO对象,也可以是任何可以实现write()接口的对象;
protocol——序列化模式,默认是 0(ASCII协议,表示以文本的形式进行序列化),protocol的值还可以是1和2(1和2表示以二进制的形式进行序列化。其中,1是老式的二进制协议;2是新二进制协议)。

2.2 示例
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2019/1/15 10:11
# @Author  : Arrow and Bullet
# @FileName: dump_load.py
# @Software: PyCharm
# @Blog    :https://blog.csdn.net/qq_41800366
import pickle


fw = open("pickleFileName.txt", "wb")
pickle.dump("try", fw)  

保存在文件中的结果如下:
在这里插入图片描述

3. load()方法
3.1 用法

pickle.load(file)
注释:
反序列化对象,将文件中的数据解析为一个python对象。
file中有read()接口和 readline() 接口

3.2 示例
import pickle


fr = open("pickleFileName.txt", "rb")
result = pickle.load(fr)
print(result)  # 结果: try

希望能够帮助到大家,有什么问题可以 直接评论即可,喜欢有用的话可以点个赞让更多的人看到,如果不够详细的话也可以说,我会及时回复的。

猜你喜欢

转载自blog.csdn.net/qq_41800366/article/details/86489848