一、什么是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 '''