zoukankan      html  css  js  c++  java
  • 序列化

    序列化   目的
    1.以某种储存形式使定义的对象持久化:
    2,将对象从一个对象传递到另一个地方
    3.使程序更具有维护性
    json  提供了四个功能
    import json
    dumps将字典转换成字符串 储存
    dic={'1':2,'2':3,'4':5}
    str_dic=json.dumps(dic)  #括号里放字典
    print(str_dic)
    locals()将字典型字符串转化成字典
    n=json.loads(str_dic) #括号里放着字符串字典
    print(n)
    
    dump 就是把字典转成字符串储存放着文件当中
    
    lst = {'1':2,'2':3,'4':5}
    f = open('test.txt','w',encoding='utf-8')
    json.dump(lst,f)
    f.close()
    
    local把文件中的字符串型字典拿出来
    f = open('test.txt','r',encoding='utf-8')
    s = json.load(f)
    print(type(s),s[-1])
    
    import pickle
    
    dumps  把字典转成二进制
    dic={'1':2,'2':3,'4':5}
    pickle_dic=pickle.dumps(dic)
    print(pickle_dic)
    
    locals  把二进制转化成字典
    dic1=pickle.loads(pickle_dic)
    print(dic1)
    def func():
        print(111)
    f1= pickle.dumps(func)
    
    i = 1234
    ff = pickle.dumps(i)
    print(ff)
    local   dump   文件的转化
    
    f = open('test.txt','wb')
    pickle.load(f)
    
    dic = {'1':2,'2':3}
    pickle.dump(dic,f)
    
    f1 = open('test.txt','rb')
    s = pickle.load(f1)
    print(type(s),s)
    
    总结:
    json: 序列化
    将一个对象转换成一个能够永久存储的内容
    将一个对象转换成一个字符串的时候 - - > 序列化 --> dumps(要转换的对象) - - > 字符串
    将一个字符串转换成一个对象的时候 - --> 反序列化 --> loads(要转换的字符串) -->对象
    
    将一个对象转换成一个文件的时候 - - > 序列化 --> dump(要转换的对象, 文件句柄) - - > 可见文件
    将一个文件转换成一个对象的时候 - --> 反序列化 --> load(文件句柄) --> 对象
    
    pickle: 序列化
    将一个对象转换成一个能够永久存储的内容
    将一个对象转换成一个字节的时候 - - > 序列化 --> dumps(要转换的对象) - - > 字节
    将一个字节转换成一个对象的时候 - --> 反序列化 --> loads(要转换的字节) -->对象
    
    将一个对象转换成一个文件的时候 - - > 序列化 --> dump(要转换的对象, 文件句柄) - - > 不可见文件
    将一个文件转换成一个对象的时候 - --> 反序列化 --> load(文件句柄) --> 对象
    
    区别:
    json
    编程语言中是通用的, json转一些简单的数据
    pickle
    python自己的, 可以将已知对象转换(lambda除外)
  • 相关阅读:
    Eclipse常用插件汇总
    关于销售订单
    java下载文件的种方式
    左右对联
    链表
    Spring MVC 入门
    JAVA环境配置总结
    struts2 iterator判断奇偶
    保存页面的浏览记录
    心扬JS分页
  • 原文地址:https://www.cnblogs.com/LMTlmt/p/10285320.html
Copyright © 2011-2022 走看看