Python自动化测试中yaml文件读取操作

作者:码上开始 时间:2021-11-19 11:55:43 

什么是yaml

  • 一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大

  • 更直观,更方便,有点类似于json格式

  • yaml文件格式:test.yaml

安装yaml


pip install pyyaml

yaml基本语法规则

  • 大小写敏感

  • 使用缩进表示层级关系

  • 缩进时不允许使用Tab键,只允许使用空格。

  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

  • #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样

键值对(dict)

yaml文件


user: admin
pwd: 123456

用python读取yaml文件案例如下,先用open方法读取文件数据,再通过load方法转成Python可读取的对像,这个load跟json里面的load是相似的。


#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @Time : 2020/8/17 9:23
# @Author : 码上开始

import yaml

# 定义yaml文件路径
yaml_path = "E:\\study\\date.yaml"
# 打开yaml文件
file = open(yaml_path, "r", encoding="utf-8")
# 读取
string = file.read()
dict = yaml.load(string)
# 转换后数据类型为:dict
print(type(dict))
print(dict)
# 运行结果:
{'usr': 'admin', 'pwd': 123456}

序列(list)

yaml里面写一个数组,前面加一个‘-'符号,如下


- admin1
- admin2
- admin3

#! /usr/bin/python3
# -*- coding:utf-8 -*-

# @FileName: day6.py
# @Time : 2020/8/17 9:23
# @Author : 码上开始

import yaml

# 定义文件路径
yaml_path = "E:\\study\\date.yaml"
file = open(yaml_path, "r", encoding="utf-8")
string = file.read()
print(string)
# 转换后数据类型为列表
list = yaml.load(string, Loader=yaml.FullLoader)
print(list)
# 运行结果
<class 'list'>
['admin1', 'admin2', 'admin3']

纯量(str)


# 布尔值true/false
n: true
# int
n1: 12
# float
n2: 12.3
#None
n3: ~

{'n': True, 'n1': 12, 'n2': 12.3, 'n3': None}

混合使用


- usr:
name: admin
pwd: 123456

- mail:
user: xxx@qq.com
pwd: 123456

运行结果:
[{'usr': {'name': 'admin', 'pwd': 123456}}, {'mail': {'user': 'xxx@qq.com', 'pwd': 123456}}]

练习
1.熟悉以上基本方法
2.将其运用到自动化测试代码中

来源:https://blog.csdn.net/laozhu_Python/article/details/108084481

标签:Python,yaml,读取操作
0
投稿

猜你喜欢

  • 滑动展开/收缩广告代码实例效果

    2007-10-09 12:44:00
  • asp.net 上传下载输出二进制流实现代码

    2023-06-28 16:06:05
  • 怎样从旧版本SQL Server中重新存储数据

    2009-01-15 13:23:00
  • PHP PDOStatement::rowCount讲解

    2023-06-06 12:24:04
  • XML数据查询技术已经成为现今的研究热点

    2008-09-05 17:13:00
  • 评论是倒序好还是顺序好?

    2007-11-09 10:40:00
  • ASP FSO显示特殊文件夹的实现代码(畸形目录名、UNC路径)

    2012-11-30 20:10:46
  • SQL Server 2005中数据库镜像的四个问题

    2009-02-19 16:48:00
  • FSO组件之文件操作(中)

    2010-05-03 11:05:00
  • Python爬虫实现百度图片自动下载

    2021-07-12 22:42:56
  • MySQL数据库性能优化的八大“妙手”

    2009-07-30 08:58:00
  • 避免Adodb.Stream输出UTF-8时自动写入的BOM(asp)

    2011-08-24 20:32:56
  • 简单介绍Python的Tornado框架中的协程异步实现原理

    2021-06-21 10:00:23
  • python 插入日期数据到Oracle实例

    2022-09-29 23:51:59
  • 使用layui 的layedit定义自己的toolbar方法

    2023-08-24 16:21:43
  • Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法

    2022-11-16 20:48:41
  • 关于MySQL编码问题的经验总结

    2007-08-23 16:10:00
  • PHP的SQL注入过程分析

    2023-11-18 02:53:27
  • 删除PHP数组中头部、尾部、任意元素的实现代码

    2023-06-14 12:40:44
  • Python常见字符串操作函数小结【split()、join()、strip()】

    2023-07-21 04:58:15
  • asp之家 网络编程 m.aspxhome.com