首页 > 编程语言 >使用 pickle 模块在 Python 中进行 pickling 和 unpickling

使用 pickle 模块在 Python 中进行 pickling 和 unpickling

时间:2024-12-21 10:58:37浏览次数:7  
标签:PROTOCOL Python pickling unpickling 模块 protocol 序列化 pickle

pickle — Python 对象序列化

python 是一种广泛使用的通用高级编程语言。在本文中,我们将学习使用 pickle 模块在 Python 中进行 pickling 和 unpickling。

Python Pickle 模块

pickle 模块用于实现二进制协议,用于序列化和反序列化 Python 对象结构。

  • Pickling:这是一个将 Python 对象层次结构转换为字节流的过程。
  • Unpickling:它是 Pickling 过程的反面,其中字节流被转换为对象层次结构。

模块接口

  • dumps() – 调用此函数以序列化对象层次结构。
  • loads() – 调用此函数以反序列化数据流。

pickle 模块提供的常量

  1. 泡菜。
    HIGHEST_PROTOCOL 这是一个整数值,表示可用的最高协议版本。这被视为传递给函数 dump()、dumps() 的协议值。
  2. 泡菜。
    DEFAULT_PROTOCOL 这是一个整数值,表示用于 pickling 的默认协议,其值可能小于最高协议的值。

pickle 模块提供的函数
 

pickle.dump(obj, file, protocol = None, *, fix_imports = True)
此函数等效于 Pickler(file, protocol).dump(obj)。这用于将 obj 的腌制表示写入打开的文件对象文件。
可选的 protocol 参数是一个整数,它告诉 pickler 使用给定的协议。支持的协议为 0 到 HIGHEST_PROTOCOL。如果未指定,则默认值为 DEFAULT_PROTOCOL。如果指定了负数,则选择 HIGHEST_PROTOCOL。
如果 fix_imports 为 true 且 protocol 小于 3,则 pickle 将尝试将新的 Python 3 名称映射到 Python 2 中使用的旧模块名称,以便 pickle 数据流可以使用 Python 读取

示例 :代码定义一个 类并创建存储在列表中的实例。它使用 模块来序列化这些实例并将它们写入对象 。 SimpleObjectpickleio.StringIO

标签:PROTOCOL,Python,pickling,unpickling,模块,protocol,序列化,pickle
From: https://blog.csdn.net/jianqimingtian/article/details/144565212

相关文章

  • 【Python GUI 编程】tkinter:Ttk 选项卡 Notebook
    在本文中,将介绍如何使用TkinterNotebook小部件创建选项卡。Notebook是由TkinterTtk模块引入的强大小部件。允许开发者创建包含多个选项卡的界面,每个选项卡可以包含不同的内容。创建Notebook小部件,请使用如下构造函数:notebook=ttk.Notebook(master,**kw)添加选项卡......
  • 使用Python进行量化交易,关键知识点有哪些?
    炒股自动化:申请官方API接口,散户也可以python炒股自动化(0),申请券商API接口python炒股自动化(1),量化交易接口区别Python炒股自动化(2):获取股票实时数据和历史数据Python炒股自动化(3):分析取回的实时数据和历史数据Python炒股自动化(4):通过接口向交易所发送订单Python炒股自动化(5):......
  • 【2024最新】基于Python+Mysql+django的公务员考试信息管理系统Lw+PPT
    作者:计算机搬砖家开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码精品专栏:Java精选实战项目源码、Python精选实战项目源码、大数据精选实战项目源码......
  • 【2024最新】基于Python+Mysql+django的宾馆管理系统Lw+PPT
    作者:计算机搬砖家开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码精品专栏:Java精选实战项目源码、Python精选实战项目源码、大数据精选实战项目源码......
  • 【2024最新】基于Python+Mysql+django的高校教室管理系统Lw+PPT
    作者:计算机搬砖家开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码精品专栏:Java精选实战项目源码、Python精选实战项目源码、大数据精选实战项目源码......
  • Django:一个王者级Web开发Python框架
    大家好啊!今天我要和大家分享Python世界中的"网站开发利器"——Django框架。它就像是一个全能的网站建筑师,不仅自带了后台管理系统、数据库接口、用户认证等功能,还能帮我们处理各种安全问题。使用Django,我们可以快速搭建一个功能完善的网站。无论你是想做个人博客,还是想开发企业......
  • python3:访问apple server api
     一,安装用到的库:(venv)liuhongdi@lhdpc:/data/work/python/xiaoqu$pip3installPyJWTCollectingPyJWTDownloadingPyJWT-2.10.1-py3-none-any.whl.metadata(4.0kB)DownloadingPyJWT-2.10.1-py3-none-any.whl(22kB)Installingcollectedpackages:PyJWTSucces......
  • AI开发:支持向量机(SVM)鸢尾花模型入门教程- Python 机器学习
    最近接触了一些数据分析的任务,越来越多地听到支持向量机(SVM),之前我们也一起学习过 AI开发:支持向量机(SVM)入门教程-Python机器学习今天我们再由浅入深的地来重温和学习这个AI算法,以便我们进一步掌握如何熟悉和使用这一AI大杀器。SVM用在哪里 --文本分类垃圾邮件过滤:通......
  • 【Python】*args和**kwargs
    【Python】*args和**kwargs一、*args:接收不定数量的位置参数示例1:简单的加法计算器示例2:转发参数给另一个函数二、**kwargs:接收不定数量的关键字参数示例3:创建用户配置文件示例4:合并多个字典三、组合使用*args和**kwargs示例5:构建RESTfulAPI请求四、结论五、相关......
  • 【重要】python可以在命令行上运行的小工具模块
    下面是添加了序号列的表格。这些序号将帮助您更清晰地识别每个模块。序号模块用途用法示例1http.server启动一个简单的Web服务器,用于共享文件或提供简单的Web服务python-mhttp.server在默认端口8000启动Web服务器2webbrowser启动Web浏览器,并打开指定的URL......