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

高端网站建设公司价格东莞网络推广营销

高端网站建设公司价格,东莞网络推广营销,今日头条橙子建站官网,深圳建设工程交易集团官网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.ds6.com.cn/news/87273.html

相关文章:

  • 金融理财网站建设汕头seo排名公司
  • 做单页网站的软件软文营销代理
  • 河南商务网站建设三只松鼠网络营销方案策划书
  • 专注网站建设16年网站seo设置是什么意思
  • 永城住房和城乡建设委员会网站热搜榜排名今日事件
  • 霸气业务网站源码网络营销和直播电商专业学什么
  • 一个小网站一般多少钱天津网站制作系统
  • 网页版微信能传文件吗seo标题优化关键词
  • 郑州睿网站建设优化seo
  • 网站用什么东西做软文营销网
  • 做本地生活网站网站建设百度推广
  • 管理咨询公司怎么开展业务广州谷歌seo
  • 购物网站上分期怎么做的友情链接交易平台源码
  • 网站流量与广告费企业网站建设需求分析
  • 建立的英文怎么读郑州seo排名优化公司
  • 网站后台空间30g要多少钱my63777免费域名查询2023年
  • 深圳网站设计公司排名前十强免费投放广告的平台
  • 网站开发建设好处武汉网站维护公司
  • 东莞网站seo优化托管重庆seo哪个强
  • app接入广告变现网络优化工资一般多少
  • 郑州医疗网站建设中国十大网站
  • 山东省建设厅网站维护电话百度账户托管
  • 济南天桥区做网站的优化网站制作方法大全
  • 做的网站每年都要收费吗win7优化
  • 做网站需要哪些成本免费二级域名平台
  • 智能手机网站模板郑州百度推广seo
  • 同创企业网站源码怎样优化网络
  • 现在做微信开发网站多少钱永久免费的建站系统有哪些
  • 天河做网站服务上海网络推广公司网站
  • 精通网站开发百度云登录