• Python3之json&pickle模块


    pickle模块用于将Python对象序列化字节流。使用反序列化可以将字节流转换回Python对象。

    pickle模块适用于多种一般Python对象:None,数字,字符串,元祖,列表和只包含可序列化对象的字典,用户定义类的实例(不会保存相应的类定义)。

    pickle专为python设计,支持python所有的数据类型。但只能在python中使用,存储数据占空间大。

    对象 ----->字节流

      1: import pickle
    
      2: date = {'k1': 1, 'k2': 2}
    
      3: pickle_str = pickle.dumps(date)
    
      4: print(pickle_str)

    将字节流写入文本:

      1: with open('测试文本1.txt', 'wb') as f:
    
      2:     pickle.dump(date, f)

    字节流 ----> 对象:

      1: pickle_loads = pickle.loads(pickle_str)
    
      2: print(pickle_loads)

    从文本中加载:

      1: with open('测试文本1.txt', 'rb') as fp:
    
      2:     pickle_load = pickle.load(fp)
    
      3: print(pickle_load)

    json模块用于使用JSON序列化和反序列化对象。它的格式只是JavaScript语法的子集。

    json体积小,跨语言使用。但是在Python中它只支持intstrlist upledict这几种类型。

    Python数据 ----> 特殊的字符串

      1: import json
    
      2: date = {'k1': 1, 'k2': 2}
    
      3: 
    
      4: json_str = json.dumps(date)
    
      5: print(json_str)

    写入文本:

      1: with open('测试文本1.txt', 'w') as f:
    
      2:     json.dump(date, f)

    特殊的字符串 ----> Python数据

      1: json_loads = json.loads(json_str)
    
      2: print(json_loads)

    写入文本:

      1: with open('测试文本1.txt', 'r') as fp:
    
      2:     json_load = json.load(fp)
    
      3: print(json_load)
  • 相关阅读:
    最高的牛
    激光炸弹(二维前缀和)
    汉诺塔问题
    费解的开关
    Hamilton路径(模板题)
    大臣的旅费【树型dp + 求树最长链】
    [蓝桥杯2018初赛]全球变暖
    操作集景
    [蓝桥杯2018初赛]倍数问题
    一些数学公式
  • 原文地址:https://www.cnblogs.com/haoqirui/p/10028193.html
Copyright © 2020-2023  润新知