YAML是什么?
YAML是一种简洁的非标记语言。使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。YAML 是专门用来写配置文件的语言,非常简洁和强大。
更相信的解读请看百度百科:YAML
今天我们要做的就是怎么用 YAML 书写配置文件并调用。
新建 YAML文件
新建 yaml 文件很简单,在目录或者编辑器中新建一个文件,把文件的后缀改成 .yaml 就行了。
YAML 格式
yaml 格式很简单,变量名后面加一个英文冒号,冒号后赋值。
Python
platformName: Android
1
platformName:Android
YAML 语法特点
•大小写敏感
•使用缩进表示层级关系
•缩进时不允许使用Tab键,只允许使用空格。
•缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
•冒号后面至少有一个空格
•键值包含非英文字母和数字,需用引号引起来
YAML 安装导入
要使用 YAML,我们在 Python 中先要安装它。
Python
pip install PyYAML
1
pipinstallPyYAML
安装完成后导入即可。
Python
import PyYAML
1
importPyYAML
YAML 使用
把我们的变量卸载配置文件里而不是直接写在脚本里就是为了方便后期的维护,假如说脚本里有10个地方都写了这个变量值,如果这个变量值有改动的话,那么我们需要在脚本里改动10个地方,这样很消耗人力和时间,那如果我们写在 yaml 配置文件里面,那么我们只需要改动一次配置文件的值就可以了。
简单调用
比如我们做 APP 自动化,需要填写 APP 的相关信息,我们把他写在配置文件里。
Python
platformName: Android
platformVersion: 5.1.1
deviceName: 127.0.0.1:62001
appPackage: com.xx.xxx
appActivity: .ui.activity.xxxxx
noReset: Trueip: 127.0.0.1
port: 4723
1
2
3
4
5
6
7
platformName:Android
platformVersion:5.1.1
deviceName:127.0.0.1:62001
appPackage:com.xx.xxx
appActivity:.ui.activity.xxxxx
noReset:Trueip:127.0.0.1
port:4723
我们用 with open 先读取配置文件在输入变量名就能取到其变量值了。
层级调用
前面语法特点里说的,通过缩进来表示层级关系,而且缩进的时候不能用 Tab 键,只能用空格。比如我又多了一台设备,deviceName 下面层级关系多了一台设备名称。
Python
platformName: Android
platformVersion: 5.1.1
deviceName: 127.0.0.1:62001
deviceName2:127.0.0.1:62025
appPackage: com.xx.xxx
appActivity: .ui.activity.xxxxx
noReset: Trueip: 127.0.0.1
port: 4723
1
2
3
4
5
6
7
8
platformName:Android
platformVersion:5.1.1
deviceName:127.0.0.1:62001
deviceName2:127.0.0.1:62025
appPackage:com.xx.xxx
appActivity:.ui.activity.xxxxx
noReset:Trueip:127.0.0.1
port:4723
要用的时候后面多一个中括号加入层级的变量名就行。
好了,以上就是 yaml 配置文件的使用,还有另一种 ini 配置文件的用法,下次再和大家分享。