python读取配置文件.yaml
认识yaml
yaml是一种简洁的非标记语言。
yaml用途
1、配置文件
- 比如对环境的配置,测试环境的url 和生产环境的url
- 对日志的处理:日志的文件名称,日志的级别,日志的输出格式
- 测试报告的文件名称
- 数据库的信息
⚠️只要是全局的数据,都会放入配置文件中
2、写测试用例(接口自动化用于数据驱动)
yaml的基本规则
- 区分大小写
- 禁止使用缩进表示层级关系
- 禁止使用tab键缩进,用空格键缩进
- 缩进没有长度限制,但要与元素对齐
- 注释符号为:#
- 字符串可以不用引号标注
yaml的三种数据结构
- 字典
例如:{“username”:“root”,“password”:123456}
在yaml文件中可以这样写:
字典嵌套字典的写法:
- 列表
例如:[‘username’, ‘password’]
yaml文件的写发法:
- scalar,纯量
yaml与json数据结构对比:
json:
map对象:键值对
数组:[]
yaml:
map对象:键:(空格)值对;一行的写法:mysql: {name: root, pwd: 123}
列表:
一行的写法:mysql: [{name: root},{pwd: 123}]
推荐验证json还是yaml的网站:https://www.bejson.com/
安装第三方插件:pyyaml
方法:yaml.load(文件)
读取yaml
class ReadConfig:
def __init__(self,filename):
self.filename=filename
def read_yaml(self):
with open(self.filename, encoding='utf-8') as fs:
#避免报警告:yaml.FullLoader
data = yaml.load(fs, yaml.FullLoader)
print(data["log"])
写入yaml
def write_yaml(self):
#写入token token: 123456
with open(self.filename,'w', encoding='utf-8') as fs:
token={"token":"123456"}
#写入中文:allow_unicode=True
yaml.dump(token,stream=fs,allow_unicode=True)