zoukankan      html  css  js  c++  java
  • pickle的使用

    1、pickle.dump(object, file, protocol=)  将object对象序列化到打开的文件夹file中。protocol是序列化协议,默认是0,如果是负数或者HIGHEST_PROTOCOL,则使用最高版本序列化协议。

    2、pickle.load(file,encoding)  把file中的对象读出,encoding 参数可置为 'bytes' 来将这些 8 位字符串实例读取为字节对象。

    3、pickle.dumps(obj,protocol=None) 将 obj 打包以后的对象作为 'bytes'类型直接返回,而不是将其写入到文件。

    4、pickle.loads(bytes_object)  对于打包生成的对象 bytes_object,还原出原对象的结构并返回。

    dump() 和 load() 与 dumps() 和 loads()的区别 dump()函数能一个接着一个地将几个对象序列化存储到同一个文件中,随后调用load()来以同样的顺序反序列化读出这些对象。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import pickle
    import os
    listdata = [[1,2,3],
                [2,3,4],
                [5,6,7]]
     
    # f = "{}/{}".format(r"./practice_data",r"pra.txt")
    #
    # if not os.path.exists(f):
    #     os.md(f)
    #将数据序列化
    fw = open(r"practice_data/pra.txt",'wb')
    pickle.dump(listdata,fw,-1)
    fw.close()
    #将序列化数据读出
    fr = open(r"practice_data/pra.txt",'rb')
    fd = pickle.load(fr)
    print(fd)
    fr.close()
     
    #使用dumps和loads举例
    = pickle.dumps(listdata)
    print(pickle.loads(a))

     输出:

    1
    2
    [[123], [234], [567]]
    [[123], [234], [567]]
  • 相关阅读:
    跟我学Windows Azure 一 创建Windows Azure试用账号
    Dynamic编程
    多线程下的资源同步访问
    避免在同一机器上同时运行同一应用程序的多个实例
    依赖注入与Service Locator
    MVP演化论
    应用MVP模式对遗留代码进行重构
    对遗留代码的解依赖技术
    单元测试之测试方法
    单元测试之Mock
  • 原文地址:https://www.cnblogs.com/liujie12/p/12311207.html
Copyright © 2011-2022 走看看