网易首页 > 网易号 > 正文 申请入驻

Python 库手册:pickle 对象序列化模块

0
分享至

pickle 是 Python 标准库中用于对象序列化与反序列化的模块。它可以将 Python 中的任意对象转换为字节流(序列化),以便保存到文件或通过网络传输。也可将字节流恢复为原始对象(反序列化)。

常见应用场景:

(1)将模型、数据结构、配置对象保存到本地文件中。

(2)在分布式任务中传输对象。

(3)缓存复杂计算结果。

(4)存储 Python 原生数据类型(列表、字典、自定义类等)。

◆ ◆

核心概念

1、序列化(Pickling)

将 Python 对象转为可存储或传输的二进制格式。

2、反序列化(Unpickling)

将二进制数据恢复为原始对象。

3、pickle 模块只适用于 Python 内部使用,不能跨语言或长期存储(因协议版本可能变化)。

4、对象必须是“可 picklable”的,函数、打开的文件句柄、线程等不可直接序列化。

◆ ◆

应用举例

例 1: 将对象保存到文件

import pickle

data = {"name": "mediaTEA", "age": 7, "score": [95, 88, 92]}

with open("data.pkl", "wb") as f:
    pickle.dump(data, f)

例 2:从文件中加载对象

import pickle

with open("data.pkl", "rb") as f:
    loaded_data = pickle.load(f)

print(loaded_data)

例 3:序列化为字节流(不写入文件)

import pickle

numbers = [1, 2, 3, 4]
binary_data = pickle.dumps(numbers)  # 转为字节串

restored = pickle.loads(binary_data)  # 恢复为原对象
print(restored)

例 4:自定义类对象的序列化

import pickle

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p = Person("mediaTEA", 7)

# 保存对象
with open("person.pkl", "wb") as f:
    pickle.dump(p, f)

# 读取对象
with open("person.pkl", "rb") as f:
    new_p = pickle.load(f)
print(new_p.name, new_p.age)

例 5:指定协议版本保存对象

import pickle

data = {"x": 1, "y": 2}
binary = pickle.dumps(data, protocol=pickle.HIGHEST_PROTOCOL)  # 使用最新协议

◆ ◆

常用函数速览

pickle.dump(obj, file, protocol=None)

将对象序列化并写入二进制文件。

参数

obj:要序列化的 Python 对象

file:类文件对象(以 'wb' 打开)

protocol:序列化协议版本(默认自动选择)

返回:无

pickle.load(file)

从二进制文件中读取并反序列化对象。

参数

file:类文件对象(以 'rb' 打开)

返回:Python 对象

pickle.dumps(obj, protocol=None)

将对象序列化为字节串(不写入文件)。

参数

obj:要序列化的对象

protocol:可选协议版本

返回:bytes 类型

pickle.loads(bytes_obj)

将字节串反序列化为 Python 对象。

参数

bytes_obj:字节数据(由 dumps() 得到)

返回:Python 对象

pickle.HIGHEST_PROTOCOL

返回当前 Python 版本支持的最高协议号(整数),建议用于最大兼容性与性能。

◆ ◆

补充说明

1、安全性警告:pickle.load() 执行过程中可能执行任意代码,不要反序列化不可信的数据来源。

2、推荐仅用于 Python 内部程序之间的数据持久化,不建议作为通用数据交换格式。

3、若需跨语言兼容性,建议使用 或 protobuf 等格式。

4、有些对象(如文件、数据库连接、线程、生成器等)不能被 pickle 序列化。

5、使用 protocol=pickle.HIGHEST_PROTOCOL 可获得更高效的存储性能。

点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
巧了,上次在美国举行的世界杯三四名决赛也是半场4-0

巧了,上次在美国举行的世界杯三四名决赛也是半场4-0

懂球帝
2026-07-19 06:08:33
不破不立,倒查10年,大检举时代,来临!

不破不立,倒查10年,大检举时代,来临!

创始人笔记
2026-07-15 00:01:48
2026年,结婚人数又破纪录了!

2026年,结婚人数又破纪录了!

巢客HOME
2026-06-21 07:20:07
前世界第一谈禁赛噩梦:从世界第10暴跌至1138名,解禁一年后退役

前世界第一谈禁赛噩梦:从世界第10暴跌至1138名,解禁一年后退役

甜份超标的我
2026-07-19 00:38:29
没有这种食物,你的肌肉将消失!医生:55岁后恢复肌力的8种食物

没有这种食物,你的肌肉将消失!医生:55岁后恢复肌力的8种食物

健康之光
2026-07-01 17:48:26
大S日本抢救时,无人知晓的扎心细节曝光:大侄子淡定自拍太讽刺

大S日本抢救时,无人知晓的扎心细节曝光:大侄子淡定自拍太讽刺

小徐讲八卦
2026-07-18 12:29:35
“这么小就有阴德纹,不简单!”小女孩意外走红,面相学果然权威

“这么小就有阴德纹,不简单!”小女孩意外走红,面相学果然权威

妍妍教育日记
2026-07-16 12:15:15
机关事业单位“取消双休”已经提上日程?2026年会落地吗?

机关事业单位“取消双休”已经提上日程?2026年会落地吗?

音乐时光的娱乐
2026-07-18 03:18:33
桃子是胰岛素“负担”?医生忠告:糖尿病人,这6种水果尽量少吃

桃子是胰岛素“负担”?医生忠告:糖尿病人,这6种水果尽量少吃

健身狂人
2026-07-18 15:32:11
世界杯金靴的四种走势,姆巴佩一数据远超梅西,哈兰德憾失铜靴

世界杯金靴的四种走势,姆巴佩一数据远超梅西,哈兰德憾失铜靴

逗比演员说体育
2026-07-19 08:58:38
“这俩破菜,换我都掀桌子了!”母亲嫌弃女儿不好好吃饭,菜色给网友看力竭了!

“这俩破菜,换我都掀桌子了!”母亲嫌弃女儿不好好吃饭,菜色给网友看力竭了!

林林先生
2026-07-19 07:10:06
“这才是政审的意义!”女子考公上岸后,被高中欺负过的同学举报

“这才是政审的意义!”女子考公上岸后,被高中欺负过的同学举报

妍妍教育日记
2026-07-17 08:25:14
湖南纸上水稻这件事,最荒诞的不是造假而是为什么要农民一定要种水稻?

湖南纸上水稻这件事,最荒诞的不是造假而是为什么要农民一定要种水稻?

黯泉
2026-07-18 11:36:07
“黄总”藏不住了!真实身份曝光,女生火速和解,餐厅摊上大事了

“黄总”藏不住了!真实身份曝光,女生火速和解,餐厅摊上大事了

小樾说历史
2026-07-19 03:14:38
这种会穿职业装的小姐姐确实很有魅力

这种会穿职业装的小姐姐确实很有魅力

美女穿搭分享
2026-07-13 10:37:58
亚裔准爸爸刚买梦想土地,2个月后竟冒出5万多个废轮胎!新家直接变垃圾场

亚裔准爸爸刚买梦想土地,2个月后竟冒出5万多个废轮胎!新家直接变垃圾场

华人生活网
2026-07-18 04:10:48
如果台湾提出回归条件:社会制度不变,军队保留,大陆会同意吗?

如果台湾提出回归条件:社会制度不变,军队保留,大陆会同意吗?

经纬戎韬
2026-07-18 01:14:54
“我回来了”?法评论员:梅西在踢决赛,C罗还在喊口号

“我回来了”?法评论员:梅西在踢决赛,C罗还在喊口号

圣西罗的太阳
2026-07-18 17:26:01
毛主席在70年前预言:中国最晚将在2030年赶超美国,会实现吗?

毛主席在70年前预言:中国最晚将在2030年赶超美国,会实现吗?

凡人侃史
2026-07-18 15:18:53
套路真深啊,异地男生赶在女友生理期奔现,坦言就是“想你了”

套路真深啊,异地男生赶在女友生理期奔现,坦言就是“想你了”

另子维爱读史
2026-07-01 23:35:07
2026-07-19 09:47:00
MediaTea
MediaTea
专业的数字媒体、新媒体技术
1968文章数 85关注度
往期回顾 全部

科技要闻

WAIC2026看什么?这份"不迷路"攻略请收好

头条要闻

牛弹琴:一觉醒来中东杀红眼 伊朗让美军付出重大代价

头条要闻

牛弹琴:一觉醒来中东杀红眼 伊朗让美军付出重大代价

体育要闻

英格兰集体领铜牌 德尚最后一舞落泪

娱乐要闻

大S给具俊晔留遗产是昏头?实际上她清醒得很

财经要闻

任泽平VIP会员自称爆仓巨亏千万

汽车要闻

把中国超跑卖到英国,比亚迪正在被世界看见

态度原创

教育
健康
时尚
旅游
家居

教育要闻

河南公费师范生录取出现“冰火两重天”:北师大出现缺额,安阳师院全额录满,背后的原因是什么?

刮痧也会刮出脑梗?讲个真实案例

夏天衣服要好好挑,建议大家准备这几款半身裙,优雅高级显瘦

旅游要闻

内蒙古自治区第36届旅游那达慕今日启幕

家居要闻

2026建博会(广州) 公装联探展交流活动

无障碍浏览 进入关怀版