YAML概述及语法

Posted xiongxiaoyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YAML概述及语法相关的知识,希望对你有一定的参考价值。

YAML概述及语法

1.概述

yaml是一种简介的非标记语言。

yaml以数据为中心,使用空白,缩进,分行组织数据,从而使得标识更加简介易读。

2.语法

基本规则:

1、大小写敏感。

2、使用缩进标识层级关系。

3、禁止使用tab缩进,只能使用空格键。

4、缩进长度没有限制,只要元素对齐就表示这些元素属于一个层级。

5、使用#表示注释。

6、字符串可以不用引号标注。

7,键值对之间用冒号隔开,冒号后面要接空格

3.支持数据类型

1)纯量:单个的,不可再分割的值

2)数组:一组按次序排列的值,又称为序列/列表(list)

3)对象:键值对的集合,又成为映射/哈希/字典

3.1 纯量

数据最小单位,类似于Python中单个变量

flag

3.2 list数组

与Python中的list数组结构类似,数组元素使用“-”开头,也可以根据缩进进行数组嵌套,注意“-”后面要接一个空格

- Jack

- harry

- sunny

[Jack,harry,sunny]

对应到Python的list的写法如下:

[‘Jack’,‘harry’,‘sunny’]

3.3 对象

对象的一组键值对,使用冒号结构表示,类似于Python的字典数据结构

4.数据嵌套

yaml数据嵌套表示可以将上面各类数据根据实际场景进行组合嵌套

数据场景:Tom Smith37岁,他有一个妻子叫Jane Smith,25岁;另外他有2个孩子,一个叫Jimmy Smith,15岁;另外一个叫Jenry Smith,12岁。

yaml语法表示如下:

familyinfo.yaml

name:Tom Smith

age:37

spouse:

       name: Jane Smith

       age: 25

children:

  - name: Jimmy Smith

          age: 15

       - name: Jenry Smith

         age: 12

文件目录:

技术图片

 

 

familyinfo.yaml

 技术图片

 

yaml_load.py
技术图片

 


 控制台结果:

 技术图片

 

 PS:.load()方法在5.1之后就要指定默认的解析器,不然会报错

以上是关于YAML概述及语法的主要内容,如果未能解决你的问题,请参考以下文章

YAML概述

yaml文件及语法基础

ansible-playbook命令及YAML语法

ansible-YAML语法

Y服务-你真的懂 Yaml 吗

K8S------YAML文件详解及示例