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]]
  • 相关阅读:
    百度病了,必应挂了,Yandex疯了。
    SpringBoot从零单排 ------ 拦截器的使用
    SpringBoot从零单排 ------初级入门篇
    我为什么放弃MySQL?最终选择了MongoDB
    NSURL组成部分详解
    关于MPMoviePlayerController 缓存播放的一些技术准备
    动画系列收藏
    代码简化
    自动循环滚动ScrollView
    iOS WKWebView 使用笔记
  • 原文地址:https://www.cnblogs.com/liujie12/p/12311207.html
Copyright © 2011-2022 走看看