基于python的yaml配置文件使用方法
一、介绍
- YAML是一种简洁的非标记语言
- YAML以数据为中心,使用空白、缩进、分行组织数据,从而使表达更加简洁易懂
二、基本规则
- 大小写敏感
- 使用缩进表示层级关系
- 禁止使用Tab缩进,只能使用空格键
- 缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级
- 使用“#”表示注释
- 字符串可以不用引号标注
三、yaml库安装
支持两种库:PyYAML 和 ruamel.yaml
这里选择PyYAML库,使用pip安装:
pip install PyYaml
四、yaml常用数据结构
1.字典
使用冒号(:)表示键值对,同一缩进的所有键值对属于一个map
方式一:(注意冒号后必须有一个空格)
key: value1
key2: value2

方式二:使用流式(flow)语法
{key: value, key2: value2}

方式三:使用缩进表示层级关系
key:
key: value
key2: value

对应结果:{'key': {'key': 'value', 'key2': 'value'}}
2.列表
使用连字符(-)表示,连字符后必须使用一个空格
方式一:
- hello
- world

方式二:使用流式(flow)语法
[hello, world]

方式三:使用缩进表示层级关系
- python
- hello
- world

对应结果:['python', ['hello', 'world']]
3.纯量scalar
yaml中提供了多种纯量,包括整数、浮点数、字符串、null、日期、布尔值、时间
boolean:
- TRUE # true, True都可以
- FALSE # false, False都可以 float:
- 3.14
- 6.8523015e+5 # 可以使用科学计算法 int:
- 123
- 0b1010_0111_0100_1010_1110 # 二进制表示 null:
nodeName: 'node'
parent: ~ # 使用~表示null string:
- 哦豁
- 'hello world' # 可以使用双引号或者单引号包裹特殊字符
- newline
newline2 # 字符串可以折成多行,每一行会被转化成空格 date:
- 2019-11-14 # 日期必须使用ISO 8601格式,即YYYY-mm-dd datetime:
- 2019-11-14T08:56:30+08:00 # 时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+号代表时区

五、使用方法
1.引入yaml模块
import yaml
2.读取yaml数据
- 打开yaml文件
- 使用yaml的load()方法,并且可以传入Loader=yaml.FullLoader解决告警的问题
我们可以将appium的启动会话参数使用yaml配置文件管理:

import pprint
import yaml with open('desired_caps.yaml', encoding='utf-8') as fs:
data = yaml.load(fs, Loader=yaml.FullLoader) pprint.pprint(data)
使用以上代码将内容读取出来,结果如下:

基于python的yaml配置文件使用方法的更多相关文章
- python读取yaml配置文件
支持多种语言:python.js.golang.java.c.c++ YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写.它实质上是一种通用的数据串行化格式. 它的基本语法规则如下 ...
- 基于python+appium+yaml安卓UI自动化测试分享
结构介绍 之前分享过一篇安卓UI测试,但是没有实现数据与代码分离,后期维护成本较高,所以最近抽空优化了一下.不想看文章得可以直接去Github,欢迎拍砖大致结构如下: 结构.png testyam ...
- Python读取ini配置文件封装方法
读取配置文件 ----rw_ini.py from configparser import ConfigParser def read_config(config_file_path:str): &q ...
- Python解析yaml配置文件
1.代码测试 import yaml fd = open('fileName.yaml', 'r') dict_tmp = yaml.load(fd) fd.close() print dict_tm ...
- python pyyaml操作yaml配置文件
在测试工作中,可以使用yaml编写测试用例,执行测试用例时直接获取yaml中的用例数据进行测试(如:接口自动化测试) 1.什么是yaml 是一种可读的数据序列化语言,通常用于配置文件 非常简洁和强大, ...
- python的logging模块之读取yaml配置文件。
python的logging模块是用来记录应用程序的日志的.关于logging模块的介绍,我这里不赘述,请参见其他资料.这里主要讲讲如何来读取yaml配置文件进行定制化的日志输出. python要读取 ...
- python笔记14-读取yaml配置文件(pyyaml)
yaml简介 1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言.yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文 ...
- Appium + python -yaml配置文件
在线安装:pip install yaml import yamlimport os # 获取当前脚本所在文件夹路径curpath = os.path.dirname(os.path.realpath ...
- 基于Python的XSS测试工具XSStrike使用方法
基于Python的XSS测试工具XSStrike使用方法 简介 XSStrike 是一款用于探测并利用XSS漏洞的脚本 XSStrike目前所提供的产品特性: 对参数进行模糊测试之后构建合适的payl ...
随机推荐
- 修改element-ui默认属性
修改element ui默认的样式 如果要组件内全局修改 首先在浏览器里F12找到element默认的UI类名 找到要修改的默认类名以后 在文件中修改代码,重写属性 <style> .el ...
- Obeject.hasOwnProperty
对象{ }要用for-in遍历对象内的属性,通过hasOwnProperty判断属性是否是对象本身的,而不是原型上的 数组[ ]可以通过forEach来遍历
- CentOS7下设置网卡名称以eth开头
一.前言 在CentOS7下,网卡的名称不再是以eth命名了,下以内容将教你如何在CentOS7下修改网卡以"eth"开头. 二.环境 ♦CentOS7.5_x86-64 三.配置 ...
- Centos+Nginx+NetCore3.1
Centos+Nginx+NetCore3.1部署 1 先将vs2019升级到,16.4.0版本 2.新建一.netcore3.1的web程序 3.编译后将项目上传到centos服务器 4.配置ngi ...
- php使用微信登录
1.第一步 $hosturl = urlencode('');//异步回调地址 $wechatInfo = WechatInfo::get_wechat(); //查询appid $url = &qu ...
- 安卓AlertDialog四种对话框的最科学编写用法
首先我们上图: xml的代码如下,用于编写按钮: <?xml version="1.0" encoding="utf-8"?> <Linear ...
- Android 再次打开APP进入按Home键退出时的界面(thisTaskRoot)
问题 Android 设置页面的启动模式为 singletask 之后,当按Home 退出时,再重新打开应用,还会进入首启动页.就会造成一些应用需要重新登录,当前页数据丢失等问题 解决 去除启动页的 ...
- 初识PMP PMBOK初解(指南第一章引论)
引论 1.1指南概述和目的 普遍认可:大多数时候是适用于大多数项目,价值和有效性已获得一致认可. 良好实践:知识.技能.工具和技术能够达到预期的商业价值和成果,提高很多项目成功的可能性. 确定过程.输 ...
- 如何编写一个工程文件夹下通用的Makefile
新建工程文件夹,在里面新建 bsp.imx6ul.obj 和project 这 3 个文件夹,完成以后如图所示: 新建的工程根目录文件夹 其中 bsp 用来存放驱动文件:imx6ul 用来存放跟芯片有 ...
- linux 常用Mysql脚本命令
常用命令 无需系统Root权限 新数据库设置Root密码 visible > mysql -uroot -p visible > mysqladmin -uroot password &q ...