• Python3 json、pickle序列化与反序列化


    注意:可以dumps多次,loads只能一次,一般我们只dumps一次,loads一次,多个版本就写入多个文件

    一、json序列化与反序列化:

    支持各种语言数据交互,但只能处理字典,列表,集合等简单的数据类型

    1.json序列化dump

    1
    2
    3
    4
    5
    6
    7
    8
    import json
    info = {
        "name":"bert",
        "age":25
        }
    # json 序列化
    write_f = open('text','w',encoding='utf-8')
    json.dump(info,write_f) # 相当于 write_f.write(json.dumps(info))

    2.json 反序列化 load

    1
    2
    3
    4
    # json 反序列化
    read_f = open('text','r',encoding='utf-8')
    data = json.load(read_f) #相当于 data = json.loads(read_f.read())
    print(data["name"])

    二、pickle序列化与反序列化:

    pickle 是Python专有的不支持其他语言, 但它可以序列化python所有数据,但只能用二进制格式

    1.pickle 序列化 dump

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import pickle
     
    def func(name):
        print(name)
     
    info = {
        "name":"bert",
        "age":25,
        "func":func
        }
    #pickle 序列化
    write_f = open("text","wb")
    pickle.dump(info,write_f)  #相当于 write_f.write(pickle.dumps(info))

    2.pickle 反序列化 load

    1
    2
    3
    4
    #pickle 反序列化
    read_f = open("text","rb")
    data = pickle.load(read_f) #相当于 data = pickle.loads(read_f.read())
    data["func"]("张三")
  • 相关阅读:
    【luogu】P1772物流运输(最短路+DP)
    【Bzoj】1001狼抓兔子(平面图最小割转对偶图最短路)
    后记
    【Luogu】P2680运输计划(树上差分+二分)
    【Luogu】P2059卡牌游戏(概率DP)
    【Luogu】P2051中国象棋(DP)
    概率与期望学习笔记
    【Luogu】P2894酒店Hotel(线段树)
    21.Mysql Server优化
    20.Mysql锁机制
  • 原文地址:https://www.cnblogs.com/bert227/p/9324515.html
Copyright © 2020-2023  润新知