0


yaml语法学习笔记

一、 yaml简介

yaml用来写配置文件的语言,和json文件功能类似,但比json简介,可以作为自动化框架的配置文件或用例文件

二、 yaml环境安装

pip install PyYaml

三、 yaml语法规则

1、 区分大小写

2、 使用锁进表示层级关系,不用括号,只能空格锁进,不能使用Tab,空格数量没要求,一般用一个空格,相同层级的元素左对齐

3、 #表示注释,从它开始的内容是注释

4、 值类型基本都支持,有字符串、整型、浮点、布尔、null、时间、日期

四、 读取yaml的方法

import yaml   #导入时直接写的yaml,和安装的名字不一样                           
                                         
def get_yaml_data(file_path):            
    with open(file_path,encoding='utf-8') as f:
        return yaml.safe_load(f.read())  

#或者yaml.load(f,Loader=yaml.FullLoader)这种写法也行,Loader=yaml.FullLoader是一种固定写法,用来防止报错 

五、 yaml常见数据格式示例

# 1.列表
- 1
- 2
- 3
# 顶个的-表示此处有列表,-与后面元素有个空格,不能紧挨着

# 2.字典
name: xiaoming  # 注意,键值直接需要有个空格
age: 20
height: # 值可以写在同一行,也可以写在下面一行
  160

# 3.字典套字典
name: xiaoming
age: 20
height:
  160
data:
  stu: qinghua
  score: 100

# 4.列表套字典-1
- 1
- 2
- 3
-
 name: xiaoming
 # 4.列表套字典-2
-
 name: liming
 age: 18
-
 animal: dog

六、 yaml数据类型

yaml基本上不需要写数据类型,比如不需要加引号,基本的可以自己识别,比如写值abc,读取后会自动识别加上引号,写123,识别出来是整数,写a123,识别出来是字符串,但有时候需要自己写上双引号来表示字符串,比如学号,需要加双引号,否则会识别为很大的整数

- 1
- 2
- 12345678
- "12345678"

七、 yaml处理转义(用不用双引号的区别)

如果不加双引号,那么yaml不转义,是以raw存储的,只有自己加了双引号,才会转义

data: 123\t456
data1: "123\t456"

总结:如果是将路径配置到yaml文件中,那么不能加双引号,否则如果有\t会转义,这里需要raw字符串

八、 变量的使用

如果有个值需要多个地方用到,那么可以设置成变量,然后引用变量,这样比较方便,因为如果要改这个值,只需要改一处,否则每个写了这个值的地方都要改

1、 变量用法

&变量名 变量值----定义变量

*变量名----使用变量

# 变量
name: xiaoming
school: &sc qinghua  
name2: xiaozhang
school2: *sc

2、 高阶用法-插入变量

如果要使用的变量是一组数据,比如字典,用法如下

# 变量高阶
data: &data
 school: qinghua
 score: 100

name1: xiaoming
stuinfo1:
 <<: *data  # <<:代表合并到当前数据 *data是引用数据
 age: 20
name2: xiaozhang
stuinfo2:
 <<: *data
 age: 20

九、 yaml分段

可以用---在一个yaml文件里对数据进行分段,相当于多个yaml文件,不同段的数据,键可以重名

---
school: beida
score: 80
---
school: qinghua
score: 80

十、 往yaml文件写数据

用例格式:


本文转载自: https://blog.csdn.net/weixin_45597885/article/details/129412553
版权归原作者 nika_liw 所有, 如有侵权,请联系我们删除。

“yaml语法学习笔记”的评论:

还没有评论