将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类型。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金钱帮资源网 Copyright www.kbjia.com
暂无“Python标准库json模块和pickle模块使用详解”评论...
更新日志
2024年10月07日
2024年10月07日
- 群星《前途海量 电影原声专辑》[FLAC/分轨][227.78MB]
- 张信哲.1992-知道新曲与精丫巨石】【WAV+CUE】
- 王翠玲.1995-ANGEL【新艺宝】【WAV+CUE】
- 景冈山.1996-我的眼里只有你【大地唱片】【WAV+CUE】
- 群星《八戒 电影原声带》[320K/MP3][188.97MB]
- 群星《我的阿勒泰 影视原声带》[320K/MP3][139.47MB]
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[320K/MP3][148.91MB]
- 刘雅丽.2001-丽花皇后·EMI精选王【EMI百代】【FLAC分轨】
- 齐秦.1994-黄金十年1981-1990CHINA.TOUR.LIVE精丫上华】【WAV+CUE】
- 群星.2008-本色·百代音乐人创作专辑【EMI百代】【WAV+CUE】
- 群星.2001-同步过冬AVCD【环球】【WAV+CUE】
- 群星.2020-同步过冬2020冀待晴空【环球】【WAV+CUE】
- 沈雁.1986-四季(2012梦田复刻版)【白云唱片】【WAV+CUE】
- 纪钧瀚《胎教古典音乐 钢琴与大提琴的沉浸时光》[FLAC/分轨][257.88MB]
- 《国语老歌 怀旧篇 3CD》[WAV/分轨][1.6GB]