基于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 ...
随机推荐
- vivado三人表决仿真
概述 下面以三人表决电路的verilog仿真来了解一下vivado软件的使用. 编写设计文件 首先可以在开始的界面通过create new project来新建工程,也可以通过file-->pr ...
- ajax结合sweetalert实现删除按钮动态效果
目录 一.ajax结合sweetalert实现删除按钮动态效果 二.bulk_create批量插入数据 1. 一条一条插入 2. 批量插入 三.自定义分页器 一.ajax结合sweetalert实现删 ...
- Python高级应用程序设计任务
Python高级应用程序设计任务要求 用Python实现一个面向主题的网络爬虫程序,并完成以下内容:(注:每人一题,主题内容自选,所有设计内容与源代码需提交到博客园平台) 一.主题式网络爬虫设计方案( ...
- Mysql服务彪高排查方式及索引的正确使用步骤
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/12af580d-1 ...
- 详解EMC测试国家标准GB/T 17626
电波暗室,用于模拟开阔场,同时用于辐射无线电骚扰(EMI)和辐射敏感度(EMS)测量的密闭屏蔽室. 来源:http://gememc.com/upload/201712/201712010930227 ...
- K8S命令-Kubectl 命令大全
参考1:https://jimmysong.io/kubernetes-handbook/guide/kubectl-cheatsheet.html?h=kubectl Kubctl 命令是操作 ku ...
- Gradle Java 插件
Java 插件是构建 JVM 项目的基础,它为项目增加了很多能力,例如编译,测试,打包,发布等等. 很多插件都是基于 Java 插件实现的,例如 Android 插件. 用法 使用 id 应用插件 p ...
- spark-3.0 application 调度算法解析
spark 各个版本的application 调度算法还是有这明显的不同之处的.从spark1.3.0 到 spark 1.6.1.spark2.0 到 现在最新的spark 3.0 ,调度算法有了一 ...
- conda pip 安装 dgl 并运行demo 出现:Segmentation fault (core dumped) 错误
安装dgl 并运行的时候,出现了如上错误,很是郁闷:使用 gdb python; run train.py 进行调试,发现是torch的问题:我猜测估计是torch 安装的版本过于新:于是重新安装 1 ...
- Appium(六):元素定位
1. 元素定位 对于自动化测试来说,核心技能就是对象的定位了.不管是web页面上的按钮或输入框,还是移动app上的一个按钮或输入框,我们要想对其进行点击或输入操作,前提是要先找到这个对象. webdr ...