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

公益网站建设分析中国建设投资集团有限公司

公益网站建设分析,中国建设投资集团有限公司,简述制作网页的基本过程,e福州电子公交卡Python marshal 模块学习笔记 1. 简介 marshal 是 Python 的内部序列化格式,主要用于序列化和反序列化 Python 对象。它是 Python 字节码(.pyc文件)使用的序列化格式,比 pickle 更原始和受限,但也更快速和安全。 http…

Python marshal 模块学习笔记

在这里插入图片描述

1. 简介

marshal 是 Python 的内部序列化格式,主要用于序列化和反序列化 Python 对象。它是 Python 字节码(.pyc文件)使用的序列化格式,比 pickle 更原始和受限,但也更快速和安全。
https://docs.python.org/zh-cn/3.9/library/marshal.html?highlight=marshal#module-marshal

2. 核心方法

marshal 模块提供了四个主要方法:

  1. marshal.dump(value, file)

    • 将 Python 对象序列化并写入文件
    • 需要以二进制写入模式打开文件(‘wb’)
  2. marshal.load(file)

    • 从文件中读取并反序列化为 Python 对象
    • 需要以二进制读取模式打开文件(‘rb’)
  3. marshal.dumps(value)

    • 将 Python 对象序列化为字节串
    • 返回 bytes 类型数据
  4. marshal.loads(bytes)

    • 将字节串反序列化为 Python 对象
    • 接收 bytes 类型数据

3. 支持的数据类型

marshal 支持以下 Python 数据类型:

  • None
  • 整数 (int)
  • 浮点数 (float)
  • 复数 (complex)
  • 字符串 (str)
  • 元组 (tuple)
  • 列表 (list)
  • 字典 (dict)
  • 布尔值 (bool)
  • 字节串 (bytes)
  • 代码对象 (code object)
  • 冻结集合 (frozenset)

4. 不支持的数据类型

marshal 不支持以下类型:

  • 自定义类和实例
  • 函数和方法
  • 模块
  • 文件对象
  • 套接字对象
  • 其他复杂对象

5. 使用示例

5.1 使用 dump/load 操作文件

import marshal# 写入数据
data = {'name': 'qifumin', 'age': 23}
with open('data.marshal', 'wb') as f:marshal.dump(data, f)# 读取数据
with open('data.marshal', 'rb') as f:loaded_data = marshal.load(f)

5.2 使用 dumps/loads 操作字节串

import marshal# 序列化为字节串
data = {'languages': ['Python', 'Java', 'Go']}
bytes_data = marshal.dumps(data)# 从字节串反序列化
recovered_data = marshal.loads(bytes_data)

6. 注意事项

  1. 版本兼容性

    • 不同 Python 版本之间的 marshal 格式可能不兼容
    • 可以通过 marshal.version 查看当前版本号
  2. 使用场景

    • 主要用于 Python 内部(如.pyc文件)
    • 不建议用于长期存储或跨版本数据交换
  3. 替代方案

    • 一般数据序列化推荐使用 pickle
    • 跨语言数据交换推荐使用 json
    • 配置文件推荐使用 yaml

7. 优缺点

优点:

  • 执行速度快
  • 格式简单
  • Python 内置模块,无需额外安装

缺点:

  • 不支持复杂对象
  • 版本兼容性问题
  • 不适合长期存储
  • 不支持跨语言使用

8. 最佳实践

  1. 仅在需要高性能序列化简单数据类型时使用
  2. 在使用前检查数据类型的兼容性
  3. 处理文件时使用 with 语句确保正确关闭
  4. 对于一般用途,优先考虑其他序列化方案
http://www.yayakq.cn/news/489579/

相关文章:

  • 网站建设中常见的问题广州联亨科技网站建设
  • 织梦网络公司网站源码网站 营销方案
  • 住房和城乡建设厅网站办事大厅网络服务器哪个最快
  • 大淘客网站logo怎么做网页制作模板的作用
  • 公司网站建站收费外贸网站翻墙做广告
  • 网站建设从零开始视频教程2023二级建造师报名官网入口
  • 网站备案 个人组网方案百度网站排名规则
  • 什么网站可以做字体效果wordpress清除无效计划任务
  • 微信视频网站怎么做的wordpress集成paypal
  • 河南网站建设外贸国家企业信息平台
  • 深圳网站备案时间商业推广
  • 用dw做淘宝网站上海网站建设 润
  • 花都建站新媒体营销策略
  • 国内网站建设发展企业网站和信息化建设制度
  • 外国语学校网站建设方案如何建设自己的网站来获取流量
  • 网站如何实现多语言景安 怎么把网站做别名
  • 厦门网站建设格江西建筑人才网
  • 上海网站优化公司排名网站建好了 如何推广
  • 洛阳霞光做网站的公司网络推广策划书范文
  • 优化整站佛山贸易网站建设
  • 网站建设歺首选金手指14网站规划建设案例
  • 佛山小企业网站建设做果蔬零售的网站
  • 济源企业网站建设wordpress最新版怎么变成英文
  • 做推文的网站的推荐下载百度浏览器
  • 我的南京网站网站的步骤
  • 公司网站域名续费一年多少钱网站建设相关书籍
  • 优化网站要怎么做网页游戏在哪里制作
  • 网站空间怎么建站ajax wordpress
  • 青岛做网站建网站wordpress主题如何安装
  • 做期货黄金哪个网站信息数据准商业网站备案流程