Python-yaml文件处理
一、什么是yaml文件
二、后缀名:.yaml / .yml
三、yaml支持哪些数据类型
四、yaml编写格式语法规则
五、yaml文件读取
六、yaml写入数据
一、什么是yaml文件
YAML是一种灵活的数据格式,支持注释、换行符、多行字符串、裸字符等,在自动化过程中,我们很多地方都需要使用配置文件来储存数据,比如测试环境,数据库信息、账号信息、日志格式、日志报告名称等。其中,yaml文件是最常用的配置文件类型之一,相比较ini,conf配置文件来说,它更加简洁,操作更加简单,同时还可以存放下不同类型的数据。
二、后缀名:.yaml / .yml
三、yaml支持哪些数据类型
- 对象
- 数组
- 纯量 字符串 数值 bool
四、yaml编写格式语法规则
- 大小写敏感
- 使用缩进表示层级关系
- 缩进用空格,相同的层级元素左对齐即可
- #表示注释
例:
hello world
username: admin
passwd: admin123
- 1
- 2
- 3
- 4
- sucessLogin:
username: admin
passwd: admin123
- errorLogin:
username: 123
passwd: admin123
五、yaml文件读取 :yaml.load -->反序列化,从文件流转化为python对象
#安装第三方库:PyYAML
import yaml
with open('yaml1.yaml','r',encoding='utf-8') as file:
#data = yaml.load(stream=file,Loader=None) Loader为None时会被认为是不安全的
data = yaml.load(stream=file,Loader=yaml.FullLoader)
print(data)
#执行结果:
#helloworld
#{'username': 'admin', 'passwd': 'admin123'}
#[1, 2, 3, 4]
#[{'sucessLogin': {'username': 'admin', 'passwd': 'admin123'}}, {'errorLogin': {'username': 123, 'passwd': 'admin123'}}]
六、yaml写入数据: yaml.dump -->序列化:python对象转换为数据文件进行存储及传输
dump_data =['中文','python','requests','pytest']
with open('yaml1.yaml','w+') as file:
yaml.dump(data=dump_data, stream=file, allow_unicode=True, encoding='utf-8')
#执行结果:
'''
- 中文
- python
- requests
- pytest
'''
三十六般武艺,七十二般变化,修练出个人品牌并发出光芒