Python自动化测试中yaml文件读取操作
作者:码上开始 发布时间:2021-11-19 11:55:43
标签:Python,yaml,读取操作
什么是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 26进制计算方法。分享给大家供大家参考。具体分析如下:题目是这样的:假设A=1,B=2,C=3...AA=27,
- 学习目的 掌握如何用ADO.NET插入新的记录 我们学得好快,今天做一个简易的新闻发布网页,可以说是个演示型的,只是让大家能理插入数据的最主
- input()作用:让用户从控制台输入一串字符,按下回车后结束输入,并返回字符串注意:很多初学者以为它可以返回数字,其实是错的!>&g
- 对于英文不行我来说使用英文版PyCharm实在是太难受了,网上好多汉化补丁都是网友提供了,下面为大家介绍一种PyCharm官方中文语言包汉化
- 之前有写过一篇如何使用Pytorch实现two-head(多输出)模型在那篇文章里,基本把two-head网络以及构建讲清楚了(如果不清楚请
- 本文实例讲述了Python实现的生产者、消费者问题。分享给大家供大家参考,具体如下:生产者、消费者问题,经典的线程同步问题:假设有一个缓冲池
- tensorflow作为google开源的项目,现在赶超了caffe,好像成为最受欢迎的深度学习框架。确实在编写的时候更能感受到代码的真实存
- 背景故事:我需要对一张图片做一些处理,是在图像像素级别上的数值处理,以此来反映图片 * 定区域的图像特征,网上查了很多,大多关于opencv的
- 写文的原因学习 Python 的过程中,经常会使用 pip 命令去安装第三方模块,但细细琢磨下来,我真的掌握这款工具了吗?本文为你全面揭示一
- 这也是老早前整理的了,也贴出来吧:1. showModalDialog和showModelessDialog的异同
- 字符串遍历>>> a_str = "hello itcast">>> for cha
- 这里首先给出来我很早之前写的一篇博客,Python实现去除列表中重复元素的方法小结【4种方法】,感兴趣的话可以去看看,今天是在实践过程中又积
- 外部临时表通过CREATE TEMPORARY TABLE 创建的临时表,这种临时表称为外部临时表。这种临时表只对当前用户可见,当前会话结束
- 在使用过程中,一边看文档一边做,遇到了一些困难的地方,在此记录一下,顺便做个总结:1、前端分页2、后端分页3、模糊查询前端分页相当简单,在我
- 求最大连续子序列的和是一个很经典很古老的面试题了,记得在刚毕业找工作面试那会也遇到过同款问题。今儿突然想起来,正好快到毕业季,又该是苦逼的应
- 单下划线单下划线用作变量最常见的一种使用场景是作为变量占位符,使用场景明显可以减少代码中多余变量的使用。为了方便理解,_可以看作被丢弃的变量
- 本文实例讲述了Python单例模式的使用方法。分享给大家供大家参考。具体如下:方法一import threading  
- 本文实例为大家分享了Python将一个Excel拆分为多个Excel的具体代码,供大家参考,具体内容如下原始文档如下图所示将销售部门一、二、
- Python局部函数及用法通过前面的学习我们知道,Python 函数内部可以定义变量,这样就产生了局部变量,有读者可能会问,Python 函
- 为了配置基于 mod_python 的 Django,首先要安装有可用的 mod_python 模块的 Apache。 这通常意味着应该有一