Python pickle模块实现对象序列化

小满
小满
发布时间:2026-10-13| 6人浏览过
原创

本文详解Python pickle模块的对象序列化功能,通过pickle.dumps和loads实现内存对象与字节流的转换,并结合文件读写演示dump与load方法,帮助开发者掌握数据存储与传输的核心技术。

Python pickle模块对象序列化教程

本文深入解析Python中pickle模块在对象序列化方面的应用,通过具体示例代码进行详细说明,为读者的学习或实际工作提供有价值的参考。

核心作用与内存序列化

核心作用

该模块主要用于将Python对象转换为可存储或传输的格式,实现数据的持久化保存与网络传输。

内存序列化机制

利用pickle.dumps(obj)函数,可将指定的Python对象直接转换为bytes类型的字节数据。

通过pickle.loads(str)函数,能够将之前转换得到的bytes类型数据重新还原为原始的Python对象。


Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import pickle
>>> mydict = {'id':123, 'name':'abc'}
>>> pickle_str = pickle.dumps(mydict)
>>> pickle_str
b'\x80\x03}q\x00(X\x02\x00\x00\x00idq\x01K{X\x04\x00\x00\x00nameq\x02X\x03\x00\x00\x00abcq\x03u.'
>>> newdict = pickle.loads(pickle_str)
>>> newdict
{'id': 123, 'name': 'abc'}

文件持久化与反序列化

文件持久化存储

使用pickle.dump(obj, file)方法,可以将Python对象直接写入打开的文件对象中。

该方式支持连续存储多个对象,在后续读取时,需严格按照对象存入文件的先后顺序依次读取。


>>> import pickle
>>> mydict = {'id':123, 'name':'abc'}
>>> file = open('pickle.txt','wb')
>>> pickle.dump(mydict, file)
>>> file.close()

文件反序列化读取

调用pickle.load(obj, file)函数,可从文件中读取数据并反序列化为对应的Python对象。


>>> import pickle
>>> file = open('pickle.txt','rb')
>>> newdict = pickle.load(file)
>>> file.close()
>>> newdict
{'id': 123, 'name': 'abc'}

以上内容构成了Python pickle模块对象序列化的完整操作流程,希望能为读者的技术实践带来帮助。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。