• pickle模块的使用


    pickle模块是用于序列化的,pickle用于python特有的类型和python的数据类型间进行转换,pickle提供四个功能dumps,dump(存取数据),loads,load(读出数据)

    pickle可以存储什么类型的数据呢?
    1、所有python支持的原生类型:布尔值、整数、浮点数、复数、字符串、字节、None
    2、由任何原生类型组成的列表、元组、字典和集合
    3、函数、类、类的实例

    pickle的实质是什么?
    pickle的实质就是利用一些算法将你的数据对象"腌制"成二进制文件,存储在磁盘上,当然也可以放在数据库或者通过网络传输到另一台计算机上

    import pickle
    data_list = ['aa', 'bb', 'cc']
    data_tuple = ('aa', 'bb', 'cc')
    data_dict = {'a': 97, 'b': 98, 'c': 99}
    data_set = {'a', 'b', 'c'}

    p_str = pickle.dumps(data_tuple) # dumps将数据通过特殊的形式转换为只有python语言认识的字符串
    print(p_str)  # 打印出b'x80x03Xx02x00x00x00aaqx00Xx02x00x00x00bbqx01Xx02x00x00x00ccqx02x87qx03.'

    mes = pickle.loads(p_str)  # loads将pickle数据转换为python的数据结构
    print(mes)  # 打印出('aa', 'bb', 'cc')

    dump将数据通过特殊的形式转换为只有python语言认识的字符串,并写入文件,打开是乱码

    with open('D:/test_pickle.pkl', 'wb') as f:  # 必填参数file表示obj要写入的文件对象,file必须以二进制可写模式打开,即wb
    pickle.dump(data_dict, f)

    load从数据文件中读取数据,并转换为python的数据结构

    with open('D:/test_pickle.pkl', 'rb') as f2:  # 必填参数file必须以二进制可读模式打开,即rb
    data2 = pickle.load(f2)
    print(data2)
  • 相关阅读:
    oracle循环语句
    解决使用Properties读取中文乱码问题
    oracle常用& to_date()怎么转换带am pm的时间格式
    distinct 多列详解
    javascript中遍历EL表达式List集合中的值
    最近一段时间代码汇总
    JAVA基础之对象的初始化
    求解圆圈中最后剩下的数字
    删除有序链表中的重复结点
    构造二叉树,并求解树的高度
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8795162.html
Copyright © 2020-2023  润新知