已解决
【python学习】基础篇-常用模块-pickle模块:序列化和反序列化
来自网友在路上 166866提问 提问时间:2023-11-21 17:50:41阅读次数: 66
最佳答案 问答题库668位专家为你答疑解惑
pickle模块是Python标准库中用于序列化和反序列化的模块。通过pickle模块,可以将Python对象转换为字节流(序列化),也可以将字节流恢复为Python对象(反序列化)。
以下是pickle模块的一些常用函数:
- dump(obj, file, protocol=None, *, fix_imports=True)
将Python对象obj序列化并写入文件file中。
可以设置协议版本protocol,默认为最高版本。
fix_imports参数表示是否修复Python 2中的导入问题。
import pickledata = {'a': 1, 'b': 2, 'c': 3}
with open('data.pkl', 'wb') as f:pickle.dump(data, f)
- load(file, *, fix_imports=True, encoding=‘ASCII’, errors=‘strict’)
从文件file中读取字节流并反序列化为Python对象。
可以设置fix_imports参数表示是否修复Python 2中的导入问题。
encoding和errors参数分别表示文件编码和错误处理方式。
import picklewith 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 pickledata = {'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 pickleserialized_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)
查看全文
99%的人还看了
相似问题
- JVM:字节码文件,类的生命周期,类加载器
- 网工内推 | 字节原厂,正式编,网络工程师,最高30K*15薪
- Go 以小端字节序修改文件
- UDP端口接收到的字节流如何转为QJsonObject、QJsonArray的方法
- 《2020年最新面经》—字节跳动Java社招面试题
- 计算Qt中的QAudioOutput缓冲区未播放的音频字节数对应时长
- 字节面试:请说一下DDD的流程,用电商系统为场景
- 深入理解JVM虚拟机第二十一篇:详解JVM当中的操作数在栈以及分析操作数栈与字节码指令和执行引擎的关系图解
- 【Linux网络编程_TCP/UDP_字节序_套接字 实现: FTP 项目_局域网聊天项目 (已开源) 】.md updata:23/11/05
- 【项目源码】反编译Java字节码生成源码
猜你感兴趣
版权申明
本文"【python学习】基础篇-常用模块-pickle模块:序列化和反序列化":http://eshow365.cn/6-41423-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!