【2023年】第64天 python中的序列化
2023/12/10 23:02:59
本文主要是介绍【2023年】第64天 python中的序列化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、序列化
1.序列化的流程以及可序列化的数据类型
首先是对象信息和数据结构信息——通过转化为后存储和传输——字符串类型
可序列化的数据类型:
- number
- str
- list
- tuple
- dict,字典类型
不可用于序列化的数据类型
- class
- def
- set
2. python中的json模块
json模块是一个通用的序列化模块。
方法名 | 参数 | 介绍 | 举例 | 返回值 |
---|---|---|---|---|
dumps | obj | 对象序列化 | json.dumps([1,2]) | 字符串 |
loads | str | 返序列化 | json.loads(’[1,2,3]’) | 原始数据类型 |
3. python中的pickle模块
使用pickle模块效率要比json模块高。
方法名 | 参数 | 介绍 | 举例 | 返回值 |
---|---|---|---|---|
dumps | obj | 对象序列化 | pickle.dumps([1,2]) | 比特 |
loads | byte | 返序列化 | json.loads(’[1,2,3]’) | 原始数据类型 |
4.程序实现
import json def read(path): with open(path, 'r') as f: data = f.read() return json.loads(data) def write(path, data): with open(path, 'w') as f: if isinstance(data, dict): _data = json.dumps(data) f.write(_data) else: raise TypeError('data is dict') return True data = {'name': '杨家将', 'age': 18, 'top': 176} if __name__ == '__main__': # write('test.json', data) result = read('test.json') print(result, type(result))
二、yaml格式文件的介绍
1.yaml格式的介绍
文本文件:xxx.yaml
服务器配置文件:
name: (代表key值) xiaomi (代表value值) xinqing:(以列表的形式) -haha -heihei new:(以字典的形式呈现) a:b c:1
2.pyyaml模块的用法
用法:
f = open(yaml_file, 'r') data = yaml.load(f.read()) f.close()
返回值:字典类型
{ name: 'xiaomi', 'age':10, 'xinqing':['haha', 'heihei'], 'new':{'a':'b', 'c':1} }
3. 程序实现
url: https://www.imooc.com/ types: - 前沿 - 前端 - 后端 - 移动端 - 云计算 - 运维 - ui python: web: django spader: bs5
import yaml def read(path): with open(path, 'r') as f: data = f.read() result = yaml.load(data, Loader=yaml.FullLoader) # 这里要加上Loader参数,并且赋值为yaml.FullLoader,目的是在数据解析过程变的更安全 return result if __name__ == '__main__': result = read('muke.yaml') print(result, type(result))
这篇关于【2023年】第64天 python中的序列化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程
- 2024-12-18Python量化入门教程:轻松掌握量化交易基础知识