day18 json与pickle
Posted Smart1san
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
序列化
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)
以上是关于day18 json与pickle的主要内容,如果未能解决你的问题,请参考以下文章
Python 基础 - Day 4 Learning Note - 模块 - Json & Pickle
老男孩学习DAY6_1_ 数据转换 pickle 和 json