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)

  • 相关阅读:
    【SpringBoot1.x】SpringBoot1.x 安全
    WebStorm快捷键(Mac版)
    iOS 容联离线消息推送
    iOS使用TestFlight进行内部和外部人员测试
    iOS Runtime常用方法整理
    模仿斗鱼直播
    一个很好用的侧滑框架ICSDrawerController实现的 QQ 侧滑及换肤功能
    swift3.0 项目引导页
    使用 swift3.0高仿新浪微博
    swift 监听键盘弹出的高度
  • 原文地址:https://www.cnblogs.com/peiya/p/11994899.html
Copyright © 2011-2022 走看看