zoukankan      html  css  js  c++  java
  • Python2.7-marshal

    marshal 模块,和 pickle 模块功能基本相同,也是序列化数据,只不过 marshal 都序列化成二进制数据,由于没有官方统一,不同版本 marshal 的结果也会不一样,所以不推荐使用。marshal 的存在主要是支持 pyc 文件,它支持布尔值,各种数值,字符串,unicode对象,包含这些对象的容器。marshal 与 pickle 的不同有以下几个方面:

    1、结果大小不同,所以可以看情况使用,一般还是用 pickle。

    2、marshal 会对同一个对象的引用序列化好多次,而 pickle 会跟踪记录,只会序列化一次。

    3、pickle 可以序列化递归对象,marshal 会报错。

    4、marshal 不能序列化类和实例

    模块方法:

    marshal.dump(value, file[, version]):把 value 序列化到以二进制打开的文件中,version指定模块使用的格式(0:老格式;1:共享内部字符串;2:对浮点数二进制)
    marshal.load(file):把以二进制打开的文件 file 反序列化读取
    marshal.dumps(value[, version]):序列化 value 为一个字符串
    marshal.loads(string):反序列化 string

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    敏捷开发宣言
    OpenGL SL 优化要点
    Cocoa Touch 开发框架
    MSIL详解
    Android之Services
    Android之ActivityII
    Android之Activity
    托管执行过程
    Android之Content ProviderII
    Android之Content Providers
  • 原文地址:https://www.cnblogs.com/tccbj/p/8392327.html
Copyright © 2011-2022 走看看