使用Python处理yaml格式的数据简单到爆!
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Python处理yaml格式的数据简单到爆!,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2755字,纯文字阅读大概需要4分钟。
内容图文
![使用Python处理yaml格式的数据简单到爆!](/upload/InfoBanner/zyjiaocheng/714/f0f0ebb26f604914bd87519151fde5f2.jpg)
一、思考:question::grey_question:
1.什么是yaml?
Python资源共享群:626017123
- 不是标记语言
- 对用户极其友好
- 数据序列化标准
- 跨语言
- 所有编程语言都支持
- 跨平台
- 所有平台都支持
- Windows、linux、Mac
- 格式简单
- 比json小姐姐穿得更少
- 应用非常广泛
2.Python中哪些模块可以处理yaml?
- pyyaml
- 应用最广泛
- 封装的api不够简单
- 不支持YAML 1.2最新版
- ruamel.yaml
- 是pyyaml的衍生版
- 封装的api简单
- 支持YAML 1.2最新版
二、基础操作:hammer::hammer:
1.安装ruamel.yaml
- 使用官方pypi源来安装
- pip install ruamel.yaml
- 使用豆瓣pypi源来安装(推荐)
- pip install -i https://pypi.douban.com/simple ruamel.yaml
2.基本用法
- 在项目根目录下创建 user_info.yaml 文件
# 外号 --- user: - 可优 - keyou - 小可可 - 小优优 # 爱人 lovers: - 柠檬小姐姐 - 橘子小姐姐
- 将yaml格式的数据转化为python中的数据类型
from ruamel.yaml import YAML # 第一步: 创建YAML对象 yaml = YAML(typ='safe') # typ: 选择解析yaml的方式 # 'rt'/None -> RoundTripLoader/RoundTripDumper(默认) # 'safe' -> SafeLoader/SafeDumper, # 'unsafe' -> normal/unsafe Loader/Dumper # 'base' -> baseloader # 第二步: 读取yaml格式的文件 with open('user_info.yaml', encoding='utf-8') as file: data = yaml.load(file) # 为列表类型 print(f"data:\n{data}")
- 输入结果:
- 将Python中的字典或者列表转化为yaml格式的数据
from ruamel.yaml import YAML # 第一步: 创建YAML对象 # yaml = YAML(typ='safe') yaml = YAML() # 第二步: 将Python中的字典类型数据转化为yaml格式的数据 src_data = {'user': {'name': '可优', 'age': 17, 'money': None, 'gender': True}, 'lovers': ['柠檬小姐姐', '橘子小姐姐', '小可可'] } with open('new_user_info.yaml', mode='w', encoding='utf-8') as file: yaml.dump(src_data, file)
- 生成的new_user_info.yaml文件:
user: name: 可优 age: 17 money: gender: true lovers: - 柠檬小姐姐 - 橘子小姐姐 - 小可可
三、复杂案例演练:hammer::hammer:
1.将Python中的对象转化为yaml格式数据
from ruamel.yaml import YAML # 第一步: 创建需要保存的User类 class User: """ 定义用户类 """ def __init__(self, name, age, gender): self.name, self.age, self.gender = name, age, gender self.lovers = [] def loved(self, user): self.lovers.append(user) # 第二步: 创建YAML对象 yaml = YAML() # 第三步: 注册用户类 yaml.register_class(User) # 第四步: 保存用户对象 keyou = User("可优", 17, "油腻男") lemon_little_girl = User("柠檬小姐姐", 16, "素颜小仙女") orange_little_girl = User("橘子小姐姐", 18, "不会PS的靓妹") keyou.loved(lemon_little_girl) keyou.loved(orange_little_girl) with open('lovers.yaml', mode='w', encoding='utf-8') as file: yaml.dump([keyou], file)
生成的lovers.yaml文件:
- !User name: 可优 age: 17 gender: 油腻男 lovers: - !User name: 柠檬小姐姐 age: 16 gender: 素颜小仙女 lovers: [] - !User name: 橘子小姐姐 age: 18 gender: 不会PS的靓妹 lovers: []
四、总结:bulb::bulb:
- yaml文件读取效率非常高
- yaml文件相当适合存放测试数据
- ruamel.yaml模块对yaml文件的操作进一步简化
- yaml在自动化测试和测试开发中都有广泛应用
内容总结
以上是互联网集市为您收集整理的使用Python处理yaml格式的数据简单到爆!全部内容,希望文章能够帮你解决使用Python处理yaml格式的数据简单到爆!所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。