美文网首页
文件序列化

文件序列化

作者: 10点睡7点起 | 来源:发表于2018-04-30 21:31 被阅读0次

    序列化与反序列化

    • 序列化用途:

      • 将内存中的字典、列表、集合以及各种对象保存到文件中
      • 将自己定义的类实例,保存到文件中
    • 反序列化用途:

      • 从文件中读取数据,并让它们在内容中变成自己对应的类的实例
    • 序列化:根据设定的协议,将内存对象转换成特定的字节流

      • 持久化:将字节流存在文件中
    • 反序列化:根据设定的协议,将一个特定的字节流恢复到内存中

    • 注:序列化、反序列化必须保证使用同一套的定义,否则会造成错误

    pickle模块

    • Python中的序列化、反序列化模块
    • pickle.dumps(obj): 将obj序列化成一个字节流
    • pickle.dump(obj, fileobj): 将obj对象序列化后存储在file中
    • pickle.loads(bytes): 将一个字节流反序列化
    • pickle.load(fileobj): 从文本中获取字节流后反序列化
    • pickle模块只可以在Python程序之间完成序列化与反序列化,为了完成跨平台、跨语言操作,有XML/json/protocol buffer/messagePack

    json模块

    • 值:双引号引起来的字符串,数值,bool值,null,对象,数组
      • 字符串:有双引号包围起来的任意字符的组合,可以有转义字符
      • 数值:正负数、整数、浮点数
      • 对象:无序的键值对的集合,其中
        • key必须是一个字符串,双引号包围的字符串
        • value可以是任意合法的数值
      • 数组:有组值的集合
    • json支持的操作与pickle一致

    MessagePack模块

    • 安装:pip install magpack-python
    • 使用:import msgpack
      • 模块方法与pickle一致

    相关文章

      网友评论

          本文标题:文件序列化

          本文链接:https://www.haomeiwen.com/subject/aoetrftx.html