yaml使用
yml使用
安装yaml
pip install PyYaml
yaml基本规则
# 1.大小写敏感
# 2.使用缩进表示层级关系,
# 2.1 不能使用tab进行缩进,只能使用空格
# 2.2 缩进的空格数目不重要,只有相同层级的元素左对齐即可
# 3.冒号后面要空一格
yaml转字典
# yml转字典
name: 小肥牛
age: 28
job: It
# >>> {'name': '小肥牛', 'age': 28, 'job': 'It'}
yaml转列表
# yml转列表
- 蓝色
- 紫色
# >>> ['蓝色', '紫色']
复合结构
- name: 小肥牛
age: 28
job: it
# >>> [{'name': '小肥牛', 'age': 28, 'job': 'it'}]
- name: 小肥牛
age: 28
job: it
date: 2022-08-06
- name: 大大
age: 28
job: it
# >>> [{'name': '小肥牛', 'age': 28, 'job': 'it'}, {'name': '大大', 'age': 28, 'job': 'it'}]
name:
- 200
- null # None要写成null,也可用~来表示
# >>> {'name': [200, 200]}
name: [1,2,3]
# >>> {'name': [1, 2, 3]}
引用
& 定义变量
*引用变量
name: &name 灰蓝
testet: *name
# 相当于
name: 灰蓝
tester: 灰蓝
# >>> {'name': '灰蓝', 'testet': '灰蓝'}
强制转换
str: !!str 3.14
int: !!int "123"
# >>> {'str': '3.14', 'int': 123}
# 将"123"转换成123,将int 3.14转换成字符串
分段
---
str: !!str 3.14
int: !!int "123"
---
name: 汤姆
age: 19
# 分段以后,使用load_all() 返回一个迭代器,使用for来输出
result = yaml.safe_load_all(f.read())
result = yaml.safe_load_all(f.read())
for i in result:
print(i)
yaml格式用例
-
url: /api/user/login
method: post
detail: 正常登录
data:
username: xxxx
passwd: xxxx
check:
userId: aa
sign: bbb
-
url: /api/user/login
method: post
detail: 不传密码
data:
username: xxxx
passwd: xxxx
check:
userId: aa
sign: bbb
# >>> [{'url': '/api/user/login', 'method': 'post', 'detail': '正常登录', 'data': {'username': 'xxxx', 'passwd': 'xxxx'}, 'check': {'userId': 'aa', 'sign': 'bbb'}}, {'url': '/api/user/login', 'method': 'post', 'detail': '不传密码', 'data': {'username': 'xxxx', 'passwd': 'xxxx'}, 'check': {'userId': 'aa', 'sign': 'bbb'}}]
yaml使用的更多相关文章
- C#与yaml解析
YAML 官方网站称 YAML 是"一种所有编程语言可用的友好的数据序列化标准".YAML Ain't Markup Language,和GNU一样,YAML是一个递归着说&quo ...
- SpringBoot中yaml配置对象
转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...
- YAML 语法
YAML 语法 来源:yaml 这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言). 我们使用 YAML 是因为它像 XML 或 JSON ...
- golang使用yaml格式解析构建配置文件
现在主流的配置文件格式有这么几种,xml.yaml.config… xml就算了,太挫了,太土, 太繁琐… config 就是mysql,apache my.cnf的那种格式,这个格式适合功能分层, ...
- yaml
YAML http://baike.baidu.com/link?url=Jqbh_SBnlVuP0dPCknzd5ti5jr4h9HcacA0j56ztf4QsPcXI8kvgFaKpvhRG3em ...
- Cassandra 配制 cassandra.yaml
一.设置用户名和密码 修改cassandra.yaml配置文件 把默认的 authenticator: AllowAllAuthenticator 改成 authenticator: Password ...
- 雅美尓(yaml)实战
献给跟我一样对yaml(雅美尓)有婶婶挫败感的同学! 开始第一个pylon工程,我们就跟yaml配置文件开始了不解之缘.yaml是什么?它有哪些规则? 大IBM的文章如是说:YAML 是一种比 XML ...
- 用Yaml文件进行元素管理【转】
原文:http://www.cnblogs.com/milanmi/p/4636503.html 如界面有一个按钮,id号是test.如果进行对象化的话,就是test.click就可以了.不用每次都要 ...
- Java使用snakeyaml解析yaml
YAML Yaml是一种"是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言."类似于XML但比XML更简洁,语法详见 http://www.ruan ...
- JSON+YAML初步学习+ciscoconfparse
Git git clone 在github.com右上角点击加号创建新的repository 在Linux或Mac命令行下,找到你想存放这个repository的目录,然后git clone 某个re ...
随机推荐
- HTML初学者小知识
引用js <script src="链接/js代码位置" type="text/javascript"></script> 引用css ...
- React的生命周期函数
概述 在React中,生命周期函数指的是组件在某一个时刻会自动执行的函数 constructor 在类或组件创建的时候被自动执行,我们可以说它是生命周期函数,但它并不是React所特有的,所有的Es6 ...
- Html飞机大战(五):主角登场(英雄类编辑)
好家伙, 遇到了一些非常奇怪的bug index.html:179 Uncaught TypeError: Failed to execute 'drawImage' on 'CanvasRender ...
- Android、iOS平台RTMP/RTSP播放器实时音量调节
介绍移动端RTMP.RTSP播放器实时音量调节之前,我们之前也写过,为什么windows播放端加这样的接口,windows端播放器在多窗口大屏显示的场景下尤其需要,尽管我们老早就有了实时静音接口,相对 ...
- PostgreSQL 时间函数分类与特性
KingbaseES 时间函数有两大类:返回事务开始时间和返回语句执行时的时间.具体函数看以下例子: 1.返回事务开始时的时间 以下函数返回事务开始的时间(通过 begin .. end 两次调用结果 ...
- Beats & FileBeat
Beats是一个开放源代码的数据发送器.我们可以把Beats作为一种代理安装在我们的服务器上,这样就可以比较方便地将数据发送到Elasticsearch或者Logstash中.Elastic Stac ...
- 项目的依赖包(node_modules)删除
快速删除依赖包一共分为三部 1.打开命令行(管理员身份),执行 npm i -g npkill 2.cd 进入到想删除的项目中,执行 npkill 3.执行完成会进入到npkill页面,等待搜索完成, ...
- PAT (Basic Level) Practice 1013 数素数 分数 20
令 Pi 表示第 i 个素数.现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出格式: 输出从 PM 到 ...
- nsis利用ButtonEvent插件移动无标题窗口
众所周知,普通win窗口是带有标题栏的,标题栏的主要功用之一,就是可以方便的拖动窗体,但为了各式各样的目的,有时候我们不得不想办法将其消除,在nsis中主要是靠system插件调用系统函数改变窗体风格 ...
- FEX-EMU Wine踩坑记录
FEX是一个用于在ARM64平台运行X86软件的工具,比较成熟,但是网上资料很少,所以就写了这篇FEX运行Wine踩坑记录. Termux的Fex不能用(2022年5月) 要在debian系统安装fe ...