httprunner测试框架2--学习yaml文件

yaml简介

yaml,一种标记语言,yaml是专门来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观更方便,类似于json格式。

yaml基本语法规则

  • 大小写敏感
  • 使用缩进表示层级关系爱
  • 缩进时不允许使用tab键,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级的元素左侧对其即可
  • #表示注释,从这个字符一直到行尾都会被解释器忽略

yaml的三种数据结构

  • 对象:键值对的集合,又称为映射、哈希、字典
  • 数组:一组按次序排列的值,又称为序列、列表
  • 纯量:单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期

安装yaml

使用pip命令进行安装:pip install pyyaml

对象(字典dict)

yaml里面的对象,就是python里面的字典数据类型

# yaml文件
user: admin
psw: '123456'

在python里面这样写

{
'user': 'admin'
'psw': '123456'
}

yaml文件中字典嵌套字典

test:
	user: admin
	psw: '123456'

用python读取yaml文件

先用open方式读取文件数据,再通过load方法转成字典

# python脚本文件
import yaml
import os

# 获叏当前脚本所在文件夹路径
curPath = os.path.dirname(os.path.realpath(__file__))
# 获叏 yaml 文件路径
yamlPath = os.path.join(curPath, "demo.yaml")

# open 方法打开直接读出来
f = open(yamlPath, 'r', encoding='utf-8')
cfg = f.read()
print(type(cfg)) # 读出来是字符串
print(cfg)
d = yaml.load(cfg) # 用 load 方法转字典
print(d)
print(type(d))

# ==============================================
# demo.yaml
# 对象---> 字典
user: admin
psw: '123456'
# 字典嵌套字典
test:
  name: zhangsan
  age: 12
'''
输出结果:
<class 'str'>
# 对象---> 字典
user: admin
psw: '123456'
# 字典嵌套字典
test:
  name: zhangsan
  age: 12
{'user': 'admin', 'psw': '123456', 'test': {'name': 'zhangsan', 'age': 12}}
<class 'dict'>
'''

序列(列表list)

yaml文件写一个数组,前面加一个‘-’符号

# yaml 文件

- zhangsan
- lisi
- wangwu
- 
#===============
对应的字典
['zhangsan', 'lisi', 'wangwu']

在这里插入图片描述
在这里插入图片描述
注意:数字读出来的是int或float类型

yaml文件布尔值用true和false表示。对应python中Ture/False
yaml文件中None用’~‘表示,对应python中的None
yaml文件中时间采用 ISO8601 格式
yaml文件中’!!‘两个感叹号,强制转换数据类型(比如:!!str123,那么就是’123’)

# yaml    dict嵌套list
user: admin
name: test
num:
  - 10
  - 15
  - 20
  #=============
  {'user': 'admin', 'name': 'test', 'num': [10, 15, 20]}



# yaml:    list嵌套dict
-
  name: zhangsan
  age: 20
-
  name: lishi
  age: 18
  #=================
  [{'name': 'zhangsan', 'age': 20}, {'name': 'lishi', 'age': 18}]
发布了28 篇原创文章 · 获赞 0 · 访问量 381

猜你喜欢

转载自blog.csdn.net/qq_42098424/article/details/105070934