分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

json与pickle模块

发布时间:2023-09-06 02:00责任编辑:彭小芳关键词:jsjson

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 jsondic={‘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(文件中的中间格式)

json与pickle模块

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved