zoukankan      html  css  js  c++  java
  • Python Json & Pickle模块

    用于序列化的两个模块

    • Json,用于字符串 和 python数据类型间进行转换
    • Pickle,用于python特有的类型 和 python的数据类型间进行转换

    Json模块提供了四个功能:dumps、dump、loads、load

    Pickle模块提供了四个功能:dumps、dump、loads、load

    Json

    将数据通过特殊的形式转换为所有程序语言都认识的字符串

    Python 原始类型向 Json 类型转换表

    Python Json
    dict object
    list, tuple array
    str, unicose string
    int, long, float number
    Ture ture
    False false
    None null

    Json dump & dumps:

    import json
    info = {
        'name': 'dbf-',
        'age': 18
    }
    with open('test', 'w')as f:
        print(json.dumps(info), ' is the result')
        f.write(json.dumps(info))    # 写入Json文件  json.dump(info, f)=f.write(json.dumps(info))
        # dumps序列化一次load反序列化一次

    输出结果:

    {"age": 18, "name": "dbf-"}  is the result

    Json load & loads:

    import json
    
    with open('test', 'r')as f:         # 打开json文件
        data = json.loads(f.read())     # 读入内存地址    json.load(f) = json.loads(f.read())
    
    print(data['age'])

    输出结果:

    18

     

    Pickle

    将数据通过特殊的形式转换为只有Python语言认识的字符串

    Pickle dump & dumps

    import pickle
    info = {
        'name': 'dbf-',
        'age': 18
    }
    with open('test', 'wb')as f:     # 以二进制模式打开文件
        print(pickle.dumps(info), ' is the result')
        pickle.dump(info, f)         # f.write(pickle.dumps(info))

    输出结果:

    b'x80x03}qx00(Xx04x00x00x00nameqx01Xx04x00x00x00dbf-qx02Xx03x00x00x00ageqx03Kx12u.'  is the result

    Pickle load & loads

    import pickle
    
    with open('test', 'rb')as f:    # 以二进制模式打开文件
        data = pickle.load(f)       # data = pickle.loads(f.read())
    print(data['age'])

    输出结果:

    18

    注意:Pickle 读写文件都要以二进制模式打开

     

     

  • 相关阅读:
    激光打印机基于主机驱动程序、基于 PCL 驱动程序和 PostScript 驱动程序有何区别?
    转贴:打印机语言PostScript和PCL的比较
    编译器相关配置简介
    Graphics View的体系结构
    解决重装Qt后不能编译Examples的问题
    有符号数和无符号数的区别
    51单片机的外设
    AT89S52单片机P3口解惑
    双向端口设计
    AT89s52单片机的掉电测试
  • 原文地址:https://www.cnblogs.com/dbf-/p/10576965.html
Copyright © 2011-2022 走看看