【python学习】基础篇-常用模块-pickle模块:序列化和反序列化

pickle模块是Python标准库中用于序列化和反序列化的模块。通过pickle模块,可以将Python对象转换为字节流(序列化),也可以将字节流恢复为Python对象(反序列化)。

以下是pickle模块的一些常用函数:

  1. dump(obj, file, protocol=None, *, fix_imports=True)
    将Python对象obj序列化并写入文件file中。
    可以设置协议版本protocol,默认为最高版本。
    fix_imports参数表示是否修复Python 2中的导入问题。
import pickle

data = {'a': 1, 'b': 2, 'c': 3}
with open('data.pkl', 'wb') as f:
    pickle.dump(data, f)
  1. load(file, *, fix_imports=True, encoding=‘ASCII’, errors=‘strict’)
    从文件file中读取字节流并反序列化为Python对象。
    可以设置fix_imports参数表示是否修复Python 2中的导入问题。
    encoding和errors参数分别表示文件编码和错误处理方式。
import pickle

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

3.dumps(obj, protocol=None, *, fix_imports=True)
将Python对象obj序列化为字节流。
可以设置协议版本protocol,默认为最高版本。
fix_imports参数表示是否修复Python 2中的导入问题。

import pickle

data = {'a': 1, 'b': 2, 'c': 3}
serialized_data = pickle.dumps(data)
print(serialized_data)

4.loads(s, *, encoding=‘ASCII’, errors=‘strict’)
将字节流s反序列化为Python对象。
可以设置encoding和errors参数分别表示字节流编码和错误处理方式。

import pickle

serialized_data = b'\x80\x04\x95\x0e\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x05key\x94\x8c\x05value\x94u.'
data = pickle.loads(serialized_data)
print(data)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值