zoukankan      html  css  js  c++  java
  • pickle模块

    pickle将python中所有的数据类型,直接转换成bytes数据的序列化过程;将bytes数据转换成python中原来的数据类型的反序列化过程

    一、应用场景:与json几乎一样,但可以多次写入和多次读取

    import pickle
    
    # bys = pickle.dumps([1, 2, 3])
    # print(bys, type(bys))
    #
    # bys1 = pickle.dumps((1, 2, 3))
    # print(bys1, type(bys1))
    # res = pickle.loads(bys1)
    # print(res)
    #
    # bys = pickle.dumps(set('123'))
    # print(bys, type(bys))
    
    
    # 把序列化的内容写入文件当中
    # with open('c.txt', mode='wb') as f:
    #     pickle.dump([1, 2, 3], f)
    
    # 把文件中的内容反序列化成python数据
    # with open('c.txt', mode='rb') as f:
    #     print(pickle.load(f))
    
    
    # 多次pickle数据到同一个文件中
    # with open('c.txt', mode='ab') as f:
    #     for i in range(3):
    #         pickle.dump('
    嘻嘻', f)
    # 从文件反序列化
    # with open('c.txt', mode='rb') as f:
    #     for i in range(4):
    #         res = pickle.load(f)
    #         print(res)

    二、小结

    json:
    1.不是所有的数据都可以序列化为字符串
    2.不能多次对同一个文件序列化
    3.json数据可以跨语言

    pickle:
    1.所有的python数据类型都可以序列化为bytes数据类型
    2.可以多次对同一个文件序列化
    3.python专有,不能跨语言

  • 相关阅读:
    Reference Counting GC (Part two :Partial Mark & Sweep)
    Reference Counting GC (Part one)
    Union File System
    Linux Cgroups
    Mark Sweep GC
    取模运算
    负数取模怎么算
    牛客【2021寒假集训营第一场】J-一群小青蛙呱蹦呱蹦呱
    记codeforces一个简单模拟题
    筛法求素数
  • 原文地址:https://www.cnblogs.com/GOD-L/p/13435151.html
Copyright © 2011-2022 走看看