Python练习-序列化(字节流)

本文探讨Python的序列化操作,重点在于使用pickle模块进行字节流序列化和反序列化。通过pickle.dumps()和pickle.loads()方法,可以实现对象与字节流之间的转换,从而实现对象的持久化和网络传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本部分学习Python序列化相关操作。序列化主要是为了将内存中的对象持久化到磁盘(文件)以便于后续从文件中恢复对象。可用于对象持久化和网络传输。

本文主要学习字节流序列化操作。Python中用字节流序列化对象用pickle模块。

一、对象转字节(序列化)

通过pickle.dumps()方法,可以直接生成序列化后的字节流,如:

import json
import os.path
import pickle

d = dict(name='Bob', age=18)
# 转换为字节流
print(pickle.dumps(d))

输出为:
b'\x80\x04\x95\x1a\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x04name\x94\x8c\x03Bob\x94\x8c\x03age\x94K\x12u.'

也可以通过 pickle.dumps(对象,文件)方法,直接持久化到文件中,如:

# 直接序列化到文件
pwd = os.path.abspath(".")
pickle_file_path = os.path.join(pwd, "resources", "pickle_demo")
with open(pickle_file_path, "wb") as pfile:
    pickle.dump(d, pfile)

上述代码会在当前目录下的resources目录下生成一个pickle_demo序列化文件,并保存相应值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值