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使用的更多相关文章

  1. C#与yaml解析

    YAML 官方网站称 YAML 是"一种所有编程语言可用的友好的数据序列化标准".YAML Ain't Markup Language,和GNU一样,YAML是一个递归着说&quo ...

  2. SpringBoot中yaml配置对象

    转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...

  3. YAML 语法

    YAML 语法 来源:yaml 这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言). 我们使用 YAML 是因为它像 XML 或 JSON ...

  4. golang使用yaml格式解析构建配置文件

    现在主流的配置文件格式有这么几种,xml.yaml.config…  xml就算了,太挫了,太土, 太繁琐… config 就是mysql,apache my.cnf的那种格式,这个格式适合功能分层, ...

  5. yaml

    YAML http://baike.baidu.com/link?url=Jqbh_SBnlVuP0dPCknzd5ti5jr4h9HcacA0j56ztf4QsPcXI8kvgFaKpvhRG3em ...

  6. Cassandra 配制 cassandra.yaml

    一.设置用户名和密码 修改cassandra.yaml配置文件 把默认的 authenticator: AllowAllAuthenticator 改成 authenticator: Password ...

  7. 雅美尓(yaml)实战

    献给跟我一样对yaml(雅美尓)有婶婶挫败感的同学! 开始第一个pylon工程,我们就跟yaml配置文件开始了不解之缘.yaml是什么?它有哪些规则? 大IBM的文章如是说:YAML 是一种比 XML ...

  8. 用Yaml文件进行元素管理【转】

    原文:http://www.cnblogs.com/milanmi/p/4636503.html 如界面有一个按钮,id号是test.如果进行对象化的话,就是test.click就可以了.不用每次都要 ...

  9. Java使用snakeyaml解析yaml

    YAML Yaml是一种"是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言."类似于XML但比XML更简洁,语法详见 http://www.ruan ...

  10. JSON+YAML初步学习+ciscoconfparse

    Git git clone 在github.com右上角点击加号创建新的repository 在Linux或Mac命令行下,找到你想存放这个repository的目录,然后git clone 某个re ...

随机推荐

  1. CPU性能优化干货总结

    一.背景 部门成立专项组,对数智平台和站务系统做性能优化,其中目标之一为降低服务端硬件成本,即在32G内存.CPU银牌的配置下,能支撑1万+发客量.要达到此目标,需通过压力测试并配合监控系统,以QPS ...

  2. 使用自定义隐式转换快速创建失败Result

    系统要求方法都返回 Result 结果,通常我们会如此定义一个 Result 1 public class Result<T> 2 { 3 public virtual int Code ...

  3. 【短道速滑九】仿halcon中gauss_filter小半径高斯模糊优化的实现

    通常,我们谈的高斯模糊,都知道其是可以行列分离的算法,现在也有着各种优化算法实现,而且其速度基本是和参数大小无关的.但是,在我们实际的应用中,我们可能会发现,有至少50%以上的场景中,我们并不需要大半 ...

  4. centos7部署Prometheus+Grafana

    一.安装Prometheus Server 请从 Prometheus 官方下载 linux 版的二进制压缩包.注意在下载前要选择操作系统为 linux. 执行下面的命令把 prometheus se ...

  5. spring native 初体验实现 小米控制美的空调

    目前关于 spring native 分享的文章还比较少 写这篇文章的主要目前是分享一下自己写的一个 小米控制美的空调 的程序 集成 spring native 过程中碰到的一些问题和解决方法 先放地 ...

  6. 使用脚本在FTP上传、下载文件

    由于最近勒索病毒变种又一次爆发,公司内部封锁了TCP 445端口.导致原来通过文件共享的方式上传下载的计划任务无法执行.所以,我开设了FTP服务器来完成这个工作. 关于如何建立FTP服务器,请看这里 ...

  7. 阿里云OSS存储前端API上传(签名上传)

    一.创建用户 在阿里云创建用户https://ram.console.aliyun.com/users,并勾选Open API 保存好信息,很重要,返回后就再也找不到了 新增授权(这里视个人情况,需要 ...

  8. ProxySQL(4):多层配置系统

    文章转载自:https://www.cnblogs.com/f-ck-need-u/p/9280793.html ProxySQL中的库 使用ProxySQL的Admin管理接口连上ProxySQL, ...

  9. MinIO Client完全指南

    官方文档地址:http://docs.minio.org.cn/docs/master/minio-client-complete-guide 下载,添加云存储服务参考这篇文章:https://www ...

  10. MySQL配置不当导致Sonarqube出错的一次经历:Packet for query is too large (16990374 > 13421568)

    公司里部署了Jenkins + Sonarqube对项目代码进行构建和代码质量扫描. 某个大型项目报告项目构建失败.进jenkins看,该项目构建日志中的报错信息是这样的: 通过错误堆栈中的信息可以判 ...