zoukankan      html  css  js  c++  java
  • json与pickle(python3入门)

    import json
    
    '''
    1. 什么是序列化
        序列化就是把内存中数据类型转换成一种可以存储到硬盘/基于网络传输的中间格式
        反序列化就是将中间格式转成相对应的数据类型
    2. 为何要序列化
        1. 持久保存状态
        2. 数据跨平台交互
    3. 如何序列化
        json:
            优点: 是一种通用的格式
            缺点: 只能识别部分python数据类型
        pickle:
            优点: 可以识别所有python的数据类型
            缺点: 只能被python识别
    
    '''
    
    
    # dic = {'k1': 'egon', 'k2': 'alex'}
    
    #json.dumps()   #序列化
    # res = json.dumps(dic)     #dumps 是把python定义的数据类型 序列化为 json格式的字符串
    # print(res, type(res))
    
    #json.loads()   #反序列化
    # with open('exercise2.json','wt',encoding='utf-8') as f1:
    #     f1.write(res)     #将json格式的字符串写入文件f1
    
    
    # with open('exercise2.json','rt',encoding='utf-8') as f1:
    #     res = json.loads(f1.read())   #f1.read() 读取文件f1,然后将读取的内容 反序列化赋值给res
    #     print(res,res['k1'])
    
    
    #json.dump()    #将序列化和写入的动作,用一行代码实现
    # with open('exercise1.json', 'wt', encoding='utf-8') as f1:
    #     json.dump(dic, f1)  # dump执行过程:其中做了dumps,然后将dumps的结果写入f1
    
    #json.load()    #将读取json文件 与 反序列化的动作 ,用一行代码实现
    # with open('exercise1.json', 'rt', encoding='utf-8') as f1:
    #     res = json.load(f1)  # load执行过程:其中做了loads,将json文件中的json文件的字符串类型反序列化成原来定义的python数据类型
    #     print(res, type(res))
    
    
    #pickle 的用法和json一模一样,(但是pickle支持读写python中所有的数据类型) 不一一举例了。
  • 相关阅读:
    [CF1439B] Graph Subset Problem
    [CF1439C] Greedy Shopping
    [CF1119F] Niyaz and Small Degrees
    [ARC101C] Ribbons On the Tree
    [CF1446C] Xor Tree
    11月24日 模拟赛 题解
    UOJ346
    [CF1229C] Konrad and Company Evaluation
    [CF1326F] Wise Men (Hard Version)
    学军联赛模拟 第二十七测 题解
  • 原文地址:https://www.cnblogs.com/lich1x/p/10056350.html
Copyright © 2011-2022 走看看