yaml在我的理解看来,它是一种数据的格式,他的格式跟json很相近,但是yaml支持注释
- 区分大小写
- 使用缩进表示层级关系
- 使用#进行注释
- 表示列表:破折号后面跟一个空格
- 表示键值对 :用冒号和空格(key: value)
YAML键值对:(字典dict)
1.对象名 :健:(空格)对。
写法一:
desired_caps:
platformName: Android
deviceName: xiaomi_mix
platformVersion: 5.1
appPackage: com.chinatower.fghd.customer
appActivity: com.ckd.fgbattery.activity.User_Login_Activity
unicodeKeyboard: True
resetKeyboard: True
noReset: True
automationName:uiAutomator2
ip: localhost
port: 4723
写法二:
desired_caps:{platformName: Android,platformVersion: 7.1.2}
YAML数组(列表List)
用一组横行破折号(-)开头
desired_caps:
-platformName: Android
-platformVersion: 7.1.2
desired_caps:[{platformName: Android},{platformVersion: 7.1.2}]
读取yaml内容
用python读取yaml文件案例如下,先用open方法读取文件数据,再通过load方法转成字典,这个load跟json里面的load是相似的。
import yaml
class ReadConfig:
def __init__(self, yaml_file):
self.yaml_file = yaml_file
"""
用python读取yaml文件案例如下,先用open方法读取文件数据,再通过load方法转成字典,
这个load跟json里面的load是相似的。
# coding:utf-8
"""
def read_yaml(self):
# open方法打开直接读出来,
with open(self.yaml_file, encoding='utf-8') as f:
# f.read()此处读出来是字符串,用load方法转字典
msg = yaml.load(stream=f.read(),Loader=yaml.FullLoader)
print(msg)
def write_yaml(self):
pass
if __name__ == '__main__':
# 实例化对象,获取当前脚本所在文件夹路径
rc = ReadConfig('app_msg.yaml')
rc.read_yaml()