一、序列化
目的:将数据从内存中变成可以存储或者传输的过程
原因:程序在执行时就是在处理一系列状态的变化,这一系列“状态”在编程语言中会以各种数据结构存储在内存当中,而内存无法永久保存数据,断电或者重启时,内存中关于该段时间内的数据会全部消失;所以,为了将内存中的数据永久的保存到文件中,就需要将内存中的数据经过序列化处理,以便直接写入文件中。
优点:1.可以永久的保存数据的状态
2.跨平台的数据交互能力更好
二、json 与pickle
1.json实例
字典序列化
import jsondic={"name":""Luffy,"age":18}print(type(dic)) ??#<class "dict"># 经过json 序列化之后变成了字符串格式j=json.dumps(dic)print(type(j)) ???#<class "str">
dic={"name":"Namy","age":18}f=open("序列化对象","w")f.write(j) ?# == json.dump(dic,f)f.close#----反序列化----#import jsonf=open("序列化对象")msg=json.loads(f.read()) ??#== ?msg=json.load(f)
列表序列化
list=["how","old","are","you"]j=json.dumps(list)print(type(j))
2.pickle
序列化
import pickledic={"sunday":"sun","sweet":"cake"}j=pickle.dumps(dic) ?#将字典格式化成 "bytes"
反序列化
import picklef=open("序列化对象_pickle","rb")msg=pickle.loads(f.read()) ??#== msg=pickle.load(f)
day18 json与pickle
原文地址:https://www.cnblogs.com/Smart1san/p/9206696.html