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

  • 相关阅读:
    js数组删除数组元素!
    ASP.NET安全问题--ASP.NET安全架构
    片滚动插件myScroll
    JS 回车提交,兼容IE、火狐、Opera、Chrome、Safari
    poj_2386_dfs
    poj_1852_Ants(复杂问题简单化)
    File Mapping
    Creating a File View
    next_permutation
    Creating a File Mapping Object
  • 原文地址:https://www.cnblogs.com/GOD-L/p/13435151.html
Copyright © 2011-2022 走看看