zoukankan      html  css  js  c++  java
  • python-json与pickle数据序列化

    json序列化

    info = {
        'name':'alex',
        'age':22
    }
    f = open("test.txt",'w')
    f.write(str(info))   #字典不能直接存,先转换成字符串
    f.close()
    import json
    info = {
        'name':'alex',
        'age':22
    }
    f = open("test.txt",'w')
    f.write(json.dumps(info))
    f.close()

    json反序列化

    f = open("test.txt",'r')
    data = eval(f.read())   #读出来也是字符串,要转换成字典
    f.close()
    print(data['age'])
    import json
    f = open("test.txt",'r')
    data = json.loads(f.read())
    print(data['age'])

    pickle可以序列化所有的数据类型

    import pickle
    info = {
        'name':'alex',
        'age':22
    }
    f = open("test.txt",'wb')
    pickle.dump(info,f)   #f.write(pickle.dumps(info))
    f.close()
    import pickle
    f = open("test.txt",'rb')
    data = pickle.load(f)   #data = pickle.loads(f.read())
    print(data['age'])

    pickle只在python本语言中能用
    java只认识json
    写程序只dump一次,load一次

    json文件的读取

    #导入模块
    import json
    # 将json对象转成字典 -> 进行解码
    with open("hm.json", "r", encoding="utf-8") as f:
        # 获取文件中数据 -> 字典
        new_dict = json.load(f)
        # 查看类型
        print(type(new_dict))  # <class 'dict'>
        # 获取名字
        print(new_dict["name"])
        # 获取年龄
        print(new_dict["age"])
        # 获取学号
        print(new_dict["no"])

    json文件的写入

    #导入模块
    import json
    # 定义一个字典
    my_dict = {"name": "老王", "age": 30, "no": "007"}
    # 将字典转成json -> 进行编码
    json_str = json.dumps(my_dict)
    # 打印json字符串
    print(type(json_str))  # <class 'str'>
    
    # 把json数据写入到文件中
    with open("hm.json", "w", encoding="utf-8") as f:
        f.write(json_str)

  • 相关阅读:
    jquery源码分析
    面试笔试整理3:深度学习机器学习面试问题准备(必会)
    深度学习岗位面试问题整理笔记
    常见面试之机器学习算法思想简单梳理
    TensorFlow与OpenCV,读取图片,进行简单操作并显示
    payload
    IPMB接口协议总结
    uboot 网络驱动模型
    对于phy芯片的认识
    网口扫盲三:以太网芯片MAC和PHY的关系
  • 原文地址:https://www.cnblogs.com/peiya/p/11994899.html
Copyright © 2011-2022 走看看