python序列化模块json和pickle
2019-03-26 22:46
721 查看
版权声明: https://blog.csdn.net/qq_39806105/article/details/93010083
具体应用:
loads:将json格式数据类型转化为python数据类型
序列化相关
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON
1.json
- 应用场景:
json模块主要用于处理json格式的数据,可以将python的字典或列表等对象转化为json(序列化)格式的数据,同时也可以将json格式的数据转化为python的字典(反序列化),便于python处理,便于跨平台或跨语言进行数据交互 - 功能: Json模块提供了四个功能:dumps、dump、loads、load
- dumps:将python 基本数据类型转化为json格式数据类型
[code]# author:PicaHealth # contact: 172212595@qq.com # datetime:2019/3/26 21:47 # software: PyCharm """ 文件说明:json_test 序列化、反序列化 """ import json s1 = {'key1': 'value1'} # 这是一个字典 print(type(s1)) # 输出结果: <class 'dict'> # Python对象序列化为json json_str = json.dumps(s1) print("json_str类型:%s"%type(json_str)) print("json_str内容:%s"%json_str) # 输出结果: # json1_str类型:<class 'str'> #经dumps方法处理之后返回的是一个str,内容就是标准的JSON # json1_str内容:{"key1": "value1"} # 把JSON反序列化为Python对象 json_obj=json.loads(json_str) print("json_obj类型:%s"%type(json_obj)) print("json_obj内容:%s"%json_obj) # 输出结果: # json_obj类型:<class 'dict'> #经loads处理之后,str变味dict # json_obj内容:{'key1': 'value1'}
- dump 和load 用于对文件进行序列化和反序列化
[code]import json s1 = {"key1": "value1"} # 这是一个字典 print(type(s1)) # 输出结果: <class 'dict'> json.dump(s1,open('序列化.txt','w')) #将s1序列化为json,并写入文件 e1 = json.load(open('序列化.txt','r')) #读取json文件,并反序列化为Python字典 print("e1的类型:",type(e1)) print('e1的内容:',e1) # 输出结果: # e1的类型: <class 'dict'> # e1的内容: {'key2': 'value2'}
2.pickle
- 应用场景:
pickle模块也有基本的数据序列和反序列化,和json的功能类似。和json不同的是:json 更适合跨语言 可以处理字符串,基本数据类型;pickle属于python专有,更适合处理复杂类型的序列化 由于pickle属于Python特有,而且方法与json模块基本一致,这里就不做概述,详情可以参考结尾的文章
小结:
Python语言特定的序列化模块是pickle,但如果要把序列化搞得更通用、更符合Web标准,就可以使用json模块。
参考文章:
相关文章推荐
- Python模块知识4:序列化Json/pickle
- Python--模块之sys模块、logging模块、序列化json模块、序列化pickle模块
- python序列化模块json和pickle
- python序列化pickle模块和json模块简单学习
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
- python常见模块之序列化(json与pickle以及shelve)
- Python基础(12)_python模块之sys模块、logging模块、序列化json模块、pickle模块、shelve模块
- python 之序列化(pickle模块和json模块)
- python学习之路(json & pickle 模块 ---序列化,反序列化)
- python序列化模块json和pickle
- Python之文件写入、二进制文件读写、内存读写、序列化、pickle与json模块、读写csv。
- python 序列化及其相关模块(json,pickle,shelve,xml)详解
- python全栈开发-json和pickle模块(数据的序列化)
- python序列化 pickle,json模块
- python3----模块(序列化(json&pickle)+XML+requests)
- python 跨语言数据交互、json、pickle(序列化)、urllib、requests(爬虫模块)、XML。
- Python序列化模块json和pickle
- Python模块:shutil、序列化(json&pickle&shelve)、xml
- Python笔记day20(模块)|序列化模块、json、pickle、shelve
- 详解Python之数据序列化(json、pickle、shelve)