zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    memcache 基本操作
    PHP 实现定时任务的几种方法
    PDO 事务处理
    mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
    ASP.NET Web API 跨域访问(CORS)
    nmap使用
    买定离手,落子无悔
    html5plus处理返回键
    PAT 1008 数组元素循环右移问题
    PAT 1007 素数对猜想
  • 原文地址:https://www.cnblogs.com/haoqirui/p/10028193.html
Copyright © 2011-2022 走看看