• 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专有,不能跨语言

  • 相关阅读:
    时间随手记
    laravel简书(2)
    laravel简书(1)
    <<Design Patterns>> Gang of Four
    计算机网络你还懵逼吗?持续更新!!!
    poj3126 搜索
    POJ 1426 搜索进阶
    CodeForces 660D
    poj3279搜索详解
    bfs简单题-poj2251
  • 原文地址:https://www.cnblogs.com/GOD-L/p/13435151.html
Copyright © 2020-2023  润新知