温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

文件IO序列化及反序列化

发布时间:2020-05-31 15:59:19 来源:网络 阅读:406 作者:wx5b77f75099907 栏目:编程语言

序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。
简单点言之:通过设计的一套协议,按照莫种规则,把内存中的数据保存到文件中或者直通过网络传输。把数据转换为字节序列,输出到文件就是序列化,反正,从文件的字节序列恢复到内存,就是反序列化

其中就有多种库对此过程进行协助:

  • pickle库:
    dumps 对象序列化为bytes对象
    dump 对象序列化为文件对象,就是存入文件
    loads 从bytes对象反序列化
    load 从bytes对象反序列化,从文件中读取

    一般来说序列化多应用于网络传输中,但远程接收端,反序列化必须有对应的数据类型,否则就会报错。随着现在大量服务需结合网路,排拖单机,pickle这种只适合于python程序之间的协议就没了作用。所以就需要公共协议。比如XML·json·MessagePack。

  • json库:
    dumps json编码
    dump json编码并存入文件
    loads json解码
    load json解码,从文件读取数据

  • MessagePack库:
  • packb 序列化对象
    unpackb 反序列化对象
    pack 序列化对象并保存到文件对象
    unpack 反序列化对象保存到文件对象

类似于json,但更快速,轻巧。
兼容json和pickle。
最佳序列化选择json

文件IO序列化及反序列化

其实序列化即反序列化主要操作就是这两个步骤,主要是要了解这主要概念及再实际操作中选择出对的协议进行操作,保证事半功倍。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI