day18 json与pickle

一、序列化

目的:将数据从内存中变成可以存储或者传输的过程

原因:程序在执行时就是在处理一系列状态的变化,这一系列“状态”在编程语言中会以各种数据结构存储在内存当中,而内存无法永久保存数据,断电或者重启时,内存中关于该段时间内的数据会全部消失;所以,为了将内存中的数据永久的保存到文件中,就需要将内存中的数据经过序列化处理,以便直接写入文件中。

优点:1.可以永久的保存数据的状态

          2.跨平台的数据交互能力更好

二、json 与pickle

1.json实例

字典序列化

import json
dic={"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 json
f=open("序列化对象")
msg=json.loads(f.read())   #==  msg=json.load(f)

列表序列化

list=["how","old","are","you"]
j=json.dumps(list)
print(type(j))

2.pickle

序列化

扫描二维码关注公众号,回复: 1666661 查看本文章
import pickle
dic={"sunday":"sun","sweet":"cake"}
j=pickle.dumps(dic)  #将字典格式化成 "bytes"

反序列化

import pickle
f=open("序列化对象_pickle","rb")
msg=pickle.loads(f.read())   #== msg=pickle.load(f)

猜你喜欢

转载自www.cnblogs.com/Smart1san/p/9206696.html