Python标准库json模块和pickle模块使用详解
作者:新兵蛋子 发布时间:2021-12-24 16:17:14
标签:Python,标准库,json,pickle,模块
将Python数据类型转换为其他代码格式叫做(序列化),而json就是在各个代码实现转换的中间件。
序列化要求:
1. 只能有int,str,bool,list,dict,tuple的类型支持序列化。
2. json序列化是以字符串形式出现。那么:lis= "[11,22,33]" 这样的也能称为序列化。
3. 必须将数据类型包裹在list或dict内进行转换。
4. json内部的str格式,必须以双引号来进行包裹。
5. bool值转换为小写的首字母
json.dumps
将py转换为json(序列化)格式的字符串
lis = [11,22,33]
json_lis = json.dumps(lis)
print(type(json_lis))
#<class 'str'>
如果序列化时,存在中文,那么默认将会以unnicode类型转换。可以使用:
v = [1,2,3,4,'哈哈']
data= json.dumps(v)
print(data)
#[1, 2, 3, 4, "\u54c8\u54c8"]
#################################
v = [1,2,3,4,'哈哈']
data= json.dumps(v,ensure_ascii=False)
print(data)
#[1, 2, 3, 4, "哈哈"]
将序列化格式字符串,反序列化为python文件格式。
lis = [11,22,33]
json_lis = json.dumps(lis)
lis_1 = json.loads(json_lis)
print(type(lis_1))
将序列化好的内容直接存放到一个文件内。load为直接读取文件内序列化的内容进行反序列化。
import json
v = [1,2,3,4,'哈哈']
with open('test.txt',mode='w',encoding='utf-8') as f:
json.dump(v,f,ensure_ascii=False)
pickle模块:
pickle的使用方式和json完全一样,需要注意的是:
1. pickle只支持python类型的转换,而json支持其他代码语言的转换。
2. pickle可以将python中所有数据类型进行转换,而json不能转换元组(转换成列表)和集合,而且必须套到列表或字典中。
3. json序列化后的类型为字符串类型,而pickle所序列化的类型为bytes类型。
来源:https://www.cnblogs.com/xinbing/p/12449659.html
0
投稿
猜你喜欢
- 01 实现我们几乎每个人都用过计算器,大家对于计算器应该都是比较熟悉的,计算器整体也是比较简单的,主要包括:显示器、键盘、运算的逻辑处理等,
- 用mysqlbinlog.exe查看二进制日志是否启用了日志mysql>show variables like 'log%
- 我们经常会遇到多重查询问题,而长长的SQL语句往往让人丈二和尚摸不着头脑。特别是客户端部分填入查询条件时,如用普通方法将更是难上加难。以下巧
- 本文实例讲述了Golang算法问题之数组按指定规则排序的方法。分享给大家供大家参考,具体如下:给出一个二维数组,请将这个二维数组按第i列(i
- 前言保留小数位是我们经常会碰到的问题,尤其是刷题过程中。那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此
- zip文件是我们经常使用的打包格式之一,python解压和压缩zip效率非凡。 python解压zip文档:#/usr/bin/python
- 蜜蜂可以看到紫外线,人则看不到;蛇和蚊子可以看到红外线,人则看不到。火狐(Firefox)浏览器也可以看到人们看不到的东西,但迄今为止,这些
- 本文实例讲述了Python实现简单过滤文本段的方法。分享给大家供大家参考,具体如下:一、问题:如下文本:## Alignment 0: sc
- 下载代码Cookie池(这里主要是微博登录,也可以自己配置置其他的站点网址)下载代码GitHub:https://github.com/Py
- 本教程为大家分享了win10下Python环境安装配置教程,供大家参考,具体内容如下1.在https://www.python.org/do
- Python获取多线程返回结果在 Python 的多线程中,有时候我们会需要每一个线程中返回的结果。然而,在经过我的多番尝试、以及网上各种博
- 在自然语言处理过程中,全角、半角的的不一致会导致信息抽取不一致,因此需要统一。有规律(不含空格):全角字符unicode编码从65281~6
- 1.字符强转一切如果是字符串进行强制转换, 仅仅就是在原数据类型的两边套上引号2.list : 强制转换成列表""&qu
- 有一个表,用户需要在后台操作它,希望能对它动态进行添加删除字段。这个功能也许没有问题,但是它原有插入与更新的两个存储过程,也需要一起修改。因
- 概述可以获取的数据包括:video-视频模块user-用户模块dynamic-动态模块这次用“Running Man”十周年特辑的视频,来做
- 本文实例讲述了Python 类的私有属性和私有方法。分享给大家供大家参考,具体如下:xx:公有变量_xx:公有变量或方法,不能通过impor
- 1 插件安装想要在vscode中使用jupyter,首先我们需要在vscode中安装插件Jupyter。在拓展中搜索jupyter直接安装即
- 一、自定义分页1、基础版自定义分页data = []for i in range(1, 302): tmp = {"i
- 公司客户在使用网站后台编辑添加修改内容时,经常是直接从word文档里复制内容到编辑器里后就提交。结果是在内容显示页面上是五花八门的样式,有时
- 图像加法1.使用Numpy加法运算方式:结果=图像1+图像2原理:图像数据格式为unit88位二进制表示范围是0到255。二进制相加1.不超