• json&pickle 序列化


    把内存数据转换字符叫序列化
    把字符转成内存数据类型反序列化

    json,用于字符串 和 python数据类型间进行转换
    dumps 和loads 匹配使用
    dumps 只能转成字符串,loads只能从字符串转换成数据类型。只能保存在内存里。

    import json
    
    date = {
        'roles':[
            {'role': 'monster', 'type': 'pig', 'HP': '50'},
            {'role': 'hero', 'type': '关羽', 'HP': '80'}
        ]
    }
    l = {'a':1, 'b':2}
    
    d = json.dumps(date)
    d2 = json.loads(d)

    dump 转成字符串并写入文件, load,读文件并转成数据类型

    import json
    
    date = {
        'roles':[
            {'role': 'monster', 'type': 'pig', 'HP': '50'},
            {'role': 'hero', 'type': '关羽', 'HP': '80'}
        ]
    }
    l = {'a':1, 'b':2}
    
    with open('json.file', 'r+', encoding='UTF-8') as f:
        json.dump(date, f)  #写入文件
        json.dump(l,f)      #写入文件
        date = json.load(f) #读取文件

    json.dumps

    json.loads
    1.把内存数据通过网络远程给其他人
    2定义不同语言之前的交互规则,跨平台
      1.纯文本,坏处:不能共享复杂的数据类型
      2.xml坏处:占空间大
      3.json,简单,可读性好
      load 只能一次

    pickle,用于python特有的类型 和 python的数据类型间进行转换
    pickle.dumps pickle.loads 匹配使用

    import pickle
    d = {'name': 'zheng', 'age': 23}
    l = [1,2,3,4,'rain']
    
    a = pickle.dumps(d)
    b = pickle.dumps(l)
    
    pickle.loads(a)
    pickle.loads(b)

    pickle.dump pickle.load   匹配使用

    l = [1,2,3,4,5]
    
    
    f = open('pick.pkl', 'wb')
    pickle.dump(l,f)
    
    
    
    f = open('pick.pkl', rb')
    pickle.load(f)

    json支持的数据类型:
      str,int,tuple,list,dict
    pickle支持的数据类型:
      支持python所有数据类型
      只能在python使用

  • 相关阅读:
    刷题94—树(一)
    刷题93—动态规划(十)
    刷题92—动态规划(九)
    刷题91—动态规划(八)
    android Q build 变化
    ubuntu下解压rar文件
    Android PAI (PlayAutoInstall)预装APK 功能
    MTK Android O1平台预置apk
    预置第三方apk到MTK项目相关问题总结
    Android预置Apk方法
  • 原文地址:https://www.cnblogs.com/zhengyiqun1992/p/10083903.html
Copyright © 2020-2023  润新知