当前位置: 首页 > news >正文

Python中的序列化和反序列化

在Python中,**序列化(Serialization)反序列化(Deserialization)**可以简单理解为:

  1. 序列化:将Python对象(如字典、列表等)转换成字节流(如JSON字符串、二进制数据等),以便存储或传输。

    • 比如:{'name': 'Alice'}'{"name": "Alice"}'(JSON格式的字符串)
  2. 反序列化:将字节流(如JSON字符串)重新转换回Python对象

    • 比如:'{"name": "Alice"}'{'name': 'Alice'}

常用方法(以JSON为例):

import json# 序列化:对象 → 字符串
data = {"name": "Alice"}
json_str = json.dumps(data)  # 输出:'{"name": "Alice"}'# 反序列化:字符串 → 对象
restored_data = json.loads(json_str)  # 输出:{"name": "Alice"}

为什么需要?

  • 存储:将对象保存到文件或数据库(需先转成字节流)。
  • 传输:通过网络发送数据(如API接口传递JSON)。

其他工具:

  • pickle:序列化为二进制(Python专用,不安全)。
  • yaml:人类可读的序列化格式。

简单说:序列化是“打包”,反序列化是“解包”

http://www.lryc.cn/news/576945.html

相关文章:

  • 2个任务同时提交到YARN后2个都卡住(CDH)
  • CNN, RNN, LSTM
  • 四大WordPress模板资源网站
  • 【QT】信号和槽(1) 使用 || 定义
  • 数据结构复习4
  • stm32之测量周期
  • GPT,GPT-2,GPT-3 论文精读笔记
  • 各种常用的串口助手工具分享
  • vue-30(理解 Nuxt.js 目录结构)
  • Java 大视界 -- 基于 Java 的大数据分布式存储在科研大数据归档与长期保存中的应用(328)
  • TCP/UDP协议深度解析(三):TCP流量控制的魔法—滑动窗口、拥塞控制与ACK的智慧
  • 【AGI】Qwen VLo:多模态AI的范式重构与AGI演进关键里程碑
  • 数据可视化 - 单子图
  • LeetCode 第80题 删除有序数组中的重复项Ⅱ
  • 【如何实现分布式压测中间件】
  • Conda 环境配置之 -- Mamba安装(causal-conv1d、mamba_ssm 最简单配置方法)-- 不需要重新配置CDUA
  • MCPA2APPT 智能化演示文稿系统:A2A、MCP、ADK 三大架构全流程自动化
  • stm32之普通定时器
  • 左神算法之Zigzag方式打印矩阵
  • 飞云翻倍布林(翻倍密码系统四线布林版)双安全系统+均价趋势指标+日线周线MACD,组合操盘技术图文分享
  • H3C-路由器DHCPV6V4配置标准
  • 群晖nas安装moodle跳坑记录
  • 【更新至2024年】1996-2024年各省农村居民人均消费支出数据(无缺失)
  • 第十二节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 两种权限控制方式(附前后端代码)
  • 对象的finalization机制Test
  • 智慧水务:未来城市水务管理的创新实践与科技飞跃
  • 【科技核心期刊推荐】《计算机与现代化》
  • 学习使用dotnet-dump工具分析.net内存转储文件(3)
  • Java 数据结构 泛型
  • ListExtension 扩展方法增加 转DataTable()方法