json与pickle模块

Python-19

1. json与pickle模块

什么是序列化和反序列化

  • 序列化:是将内存中的数据结构,转换成一种中间格式,将转化后的中间格式存储到硬盘,或者基于网络传输
  • 反序列化:是将硬盘中或者网路中传过来的中间格式,转换成内存中的数据结构

2. 序列化和反序列化有什么用

  • 将状态通过中间格式存储到硬盘,可以保存程序的运行状态
  • 数据可以跨平台交互,不同的编程语言,通过序列化成中间格式就可以互相交互
  • 存到硬盘的文本文件都是字符串,再次使用时,需要将硬盘中的数据转化成以前的数据类型状态

3. json与pickle模块的区别

json

  • 优点:jison具有跨平台性,所有编程语言都能转成json格式
  • 缺点:只能支持python的部分数据类型

pickle

  • 优点:支持python的所有数据了理性
  • 缺点:pickle只能识别python,不能跨平台

③ JSON类型和Python类型的对应关系

4. json的的序列化

json.dumps(内存的数据)

  • 说明:json不能识别单引号,只能使用双引号,因此而,json序列化的过程中会把单引号转成双引号
# 导入json模块
import json
# 内存中数据
dic={‘name‘:‘xut‘,‘age‘:18,‘sex‘:‘male‘}
# json序列化:内存中的数据类型---->json中间格式
json_str=json.dumps(dic)
# print(json_str,type(json_str))
# 将序列化中间格式写到文件
with open(r‘db.json‘,‘wt‘,encoding=‘utf-8‘) as f:
    f.write(json_str)

json.dump(内存中数据对象,文件))

  • json.dump可以将上面的两步进行合并
import json
dic={‘name‘:‘xut‘,‘age‘:18,‘sex‘:‘male‘}
with open(r‘db.json‘,‘wt‘,encoding=‘utf-8‘) as f:
    json.dump(dic,f)

③ 总结

  • 序列化不同的数据类型,就写到不同的文件中

5. json的反序列化

json.loads(文件中的中间格式)

原文地址:https://www.cnblogs.com/itone/p/9203895.html

时间: 2024-08-25 23:23:36

json与pickle模块的相关文章

python模块(json和pickle模块)

json和pickle模块,两个都是用于序列化的模块 • json模块,用于字符串与python数据类型之间的转换 • pickle模块,用于python特有类型与python数据类型之间的转换 两个模块,都提供了dumps,dump,loads,load 4个功能 1 import json 2 s = '{"key1":"value1","key2":"value2"}' # ==> 用json模块将字符串转化成其他

python-时间模块,random、os、sys、shutil、json和pickle模块

一.time与datetime模块 time模块: 时间戳:表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,返回类型为float类型 格式化时间字符串(Format String) 结构化的时间(struct_time):struct_time元组共有9个元素(年月日时分秒,一年中的第几周,一年中的第几天,夏令时) # print(time.time())#1533962144.060534 # print(time.localtime())#time.struct_time(

shutil模块、json和pickle模块

shutil模块: 高级的文件.文件夹.压缩包处理模块 json和pickle模块 之前学过eval内置方法可以将一个字符串转化成Python对象,但eval方法是有局限性的,对于普通的数据类型,json.loads.eval都可以使用,但遇到特殊类型的时候,eval就不能使用了, 所以eval的重点通常还是用来执行一个字符串表达式,并返回表达式的值. 序列化:我们把对象从内存中变成可存蓄或可传送的过程称为序列化,在Python中叫picking,在其他语言中叫serialization .ma

json和pickle模块

内容目录 一.JSON 1 1.1 json.dumps() 1 1.2 json.loads() 2 1.3 json.dump() 2 1.4 json.load() 3 1.5编码解码规则 5 二.pickle 5 2.1 pickle.dumps() 5 2.2 pickle.loads() 5 2.3 pickle.dump() 6 2.3 pickle.load() 6 一.JSON JSON是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成. 1.1 json.du

Python数据对象的编码和解码,json和pickle模块,base64模块的简单使用

1.面向对象 对象:生活中的客观事物 类:对事物的抽象,在代码中实现class类型 类属性:这类事物具有的特点或者属性 类方法:这类事物具有的行为,可以实现的方法 实例:使用之前对类的实例化之后的结果 实例属性:对象具有的一些描述对象或者形容对象的属性,对象具体具有的特性 实例方法:对象具有的方法,行为动作 1.查看对象所拥有的方法 dir(对象) 例如 print(dir(列表))1.类中的实例(类)属性和方法命名风格 属性:名词 方法:动词 2.Python中万物皆对象 _对象名,对象私有化

讲解 json 和 pickle 模块

首先是引入json 和 pickle 的原因是 普通的方法支持的数据类型太少 局限性大  比如下面的例子 dit = {'name':'deng1mei','age':'26','sex':'girl'} #创建一个字典dit = str(dit) #将字典字符串化 以方便写入文件# f= open ('test','w') #创建文件# f.write(dit) #write() argument must be str, not dict #写入文件f=open('test','r') #句

Python基础-json和pickle模块

一 .序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 把字符串转化成内存数据类型 叫做反序列化 json 和 pickle 二. 只是把数据类型转化成字符串存到内存里的意义 json.dumps  json.loads 1.把你的内存数据通过网络共享给远程其他人 2.定义了不同语言的交互规则 a.纯文本,坏处,不能共享复杂的数据类型 b.xml,坏处,占用空间大 c.json,简单,可读性好 三.json与pickle的区

Python基础六--JSON, pickle模块

一.JSON 内存中的数据<--->格式json<--->字符类型<--->保存.基于网络传输 1. 将数据转化为str形式:data_str = json.dumps(data): 2. 将str形式数据转化为字典等数据:data = json.loads(data_str): 3. 注意json格式 :data = '{"name":"gangzi"}' : 二.pickle (只应用于Python,不同版本的Python彼此

序列化的两个模块(json和pickle)

到底什么是序列化(picking)呢? 我们把变量从内存中变成可存储或传输的过程称之为序列化 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上. 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling json和pickle json和pickle模块,两个都是用于序列化的模块 json #json 是通用的,可以在各种语言里进行交互,只是一个简单的序列化方法#json把python对象转化成字符串,仅限于简单的数据类型,例如列表,字典,元组