分享web开发知识

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

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

json和pickle序列化模块

发布时间:2023-09-06 01:42责任编辑:蔡小小关键词:jsjson

一、json序列化模块

  1、序列化:将内存数据转成字符串加以保存。

  2、反序列化:将字符串转成内存数据加以读取。

data = { ‘北京‘:{ ????????????????????‘五道口‘:{ ????????????????????????‘sohu‘:‘引擎‘, ????????????????????} ??????????????????} ??????????????}# dumps <--> ?loads‘‘‘ ???只是把数据类型转成字符串存到内存(json.dumps,json.loads)里的意义? ???1、把你的内存数据通过网络远程共享给其他人 ???2、定义了不同语言之间的交互规则 ???????<1> 纯文本:不能共享复杂的数据类型 ???????<2> xml:占空间大 ???????<3> json:简单,可读性好‘‘‘d = json.dumps(data) # 仅转成字符串 ?<class ‘str‘>print(d,type(d)) ????# {"\u5317\u4eac": {"\u4e94\u9053\u53e3": {"sohu": "\u5f15\u64ce"}}}d_1 = json.loads(d) ?# 将字符串转成原本的数据类型 ?<class ‘dict‘>print(d_1,type(d_1)) ??????????# {‘北京‘: {‘五道口‘: {‘sohu‘: ‘引擎‘}}}# dump ?<--> ?loadf = open(‘test.json‘,‘w‘) # 先打开再读写d2 = json.dump(data,f) # 转成字符串并写入文件f1 = open(‘test.json‘,‘r‘)d_2 = json.load(f1) # 将文件转成原来的数据类型print(d_2) ?# {‘北京‘: {‘五道口‘: {‘sohu‘: ‘引擎‘}}}

二、pickle序列化模块

#!/usr/bin/env python3#-*- coding:utf-8 -*-# write by congcongimport pickledict = {‘name‘:‘cc‘,‘age‘:21}len = [‘python‘,‘hello‘,‘world‘]# dumps <--> loadsd = pickle.dumps(dict) # 字符串转成bytes类型print(d) # b‘\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x02\x00\x00\x00ccq\x02X\x03\x00\x00\x00ageq\x03K\x15u.‘d_1 = pickle.loads(d) ?# bytes类型转为原数据类型# print(d_1) ?# {‘name‘: ‘cc‘, ‘age‘: 21}# dump <--> load# pk = open(‘data.pkl‘,‘wb‘)# d2 = pickle.dump(dict,pk) # 字符串转成bytes类型,并保存到硬盘pk_r = open(‘data.pkl‘,‘rb‘) # 将硬盘里的bytes类型转为原数据类型d_2 = pickle.load(pk_r)print(d_2) ?# ?{‘name‘: ‘cc‘, ‘age‘: 21}‘‘‘json 和 pickle 的区别: ???json ?支持的数据类型 str ,int ,tuple , list , dict ,可跨语言 ????????pickle ?支持python里所有的数据类型,但只能在python中使用‘‘‘

json和pickle序列化模块

原文地址:https://www.cnblogs.com/schut/p/8436782.html

知识推荐

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