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的主要内容,如果未能解决你的问题,请参考以下文章

day5 常用模块json和pickle

Python 基础 - Day 4 Learning Note - 模块 - Json & Pickle

老男孩学习DAY6_1_ 数据转换 pickle 和 json

days-json和pickle序列化

Python函数和常用模块day06:json & pickle-hashlib模块

Day 4-5 序列化 json & pickle