基于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 ...
随机推荐
- DRF源码系列分析
DRF源码系列分析 DRF源码系列分析--版本 DRF源码系列分析--认证 DRF源码系列分析--权限 DRF源码系列分析--节流
- python学习-os引入
# 引入import os # 路径处理 -- 外部资源-os # 获取当前的工作路径workspace = os.getcwd() # os模块下的getcwd函数print(workspace) ...
- 【译】在React中实现条件渲染的7种方法
原文地址:https://scotch.io/tutorials/7-ways-to-implement-conditional-rendering-in-react-applications 借助R ...
- CSS3新特性简单总结(持续补充常用到的情景)
1.CSS3边框border-radius 左上右下box-shadow box-shadow: 水平阴影(可负值,必) 垂直阴影(可负值,必) 模糊距离 阴影尺寸 颜色颜色 inset(将外部阴影改 ...
- 【CHRIS RICHARDSON 微服务系列】微服务架构中的进程间通信-3
编者的话 |本文来自 Nginx 官方博客,是微服务系列文章的第三篇,在第一篇文章中介绍了微服务架构模式,与单体模式进行了比较,并且讨论了使用微服务架构的优缺点.第二篇描述了采用微服务架构的应用客户端 ...
- Nginx 常用配置方式说明
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/7619763f-1 ...
- Redis-API
Redis-API 简介 Redis 是一个基于内存的高效的键值行非关系型数据库,存取效率极高. python提供了两个类:分别为Redis和StrictRedis来实现Redis的命令操作.Redi ...
- 设备数据通过Azure Functions 推送到 Power BI 数据大屏进行展示(1.准备工作)
本案例适用于开发者入门理解Azure Functions/ IoT Hub / Service Bus / Power BI等几款产品. 主要实战的内容为: 将设备遥测数据上传到物联网中心, 将遥测数 ...
- 形如 T(n) = a * T(n/b) + f(n) 的时间复杂度计算方法
形如 T(n) = a * T(n/b) + f(n) 的时间复杂度计算方法 有一种方法叫做主方法(Master method)是用来专门计算这种形式的时间复杂度的,方法具体如下: 下边举例进行说明: ...
- ElasticSearch 安装, 带视频
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...