YAML语法

一、YAML语法

  YAML是“另一种标记语言”的外语缩写,但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

  在Python中使用YAML需要安装PyYAML模块。http://pyyaml.org/wiki/PyYAML

  1、块序列描述

    块序列就是将描述的元素序列到Python的列表(List)中。   

import yaml
obj = yaml.load(
"""
- flash
- alex
- tony
- eric
"""
)
print(obj)

#输出结果:[‘flash‘, ‘alex‘, ‘tony‘, ‘eric‘] 
obj2 = yaml.load(
    """
-
    - flash
    - alex
    - tony
    - eric
-
    - china
    - USA
    - Japan
    """
)

#输出结果:[[‘flash‘, ‘alex‘, ‘tony‘, ‘eric‘], [‘china‘, ‘USA‘, ‘Japan‘]]

  2、块映射描述

    块映射就是将描述的元素序列到Python的字典(dict)中,格式为“key:value”。

import yaml

print(yaml.load("""
 name: Vorlin Laruknuzum
 sex: Male
 class: Priest
 title: Acolyte
 hp: [32, 71]
 sp: [1, 13]
 gold: 423
 inventory:
 - a Holy Book of Prayers (Words of Wisdom)
 - an Azure Potion of Cure Light Wounds
 - a Silver Wand of Wonder
 """)
      )

# 输出结果:{‘name‘: ‘Vorlin Laruknuzum‘, ‘hp‘: [32, 71], ‘class‘: ‘Priest‘, ‘sp‘: [1, 13], ‘sex‘: ‘Male‘, ‘inventory‘: [‘a Holy Book of Prayers (Words of Wisdom)‘, ‘an Azure Potion of Cure Light Wounds‘, ‘a Silver Wand of Wonder‘], ‘gold‘: 423, ‘title‘: ‘Acolyte‘}

  

  

 

时间: 2024-10-10 21:44:43

YAML语法的相关文章

ansible初步使用及YAML语法介绍

一.简介 1.ansible 简介 ansible官方的title是"Ansible is Simple IT Automation"--简单的自动化IT工具.这个工具的目标有这么几项:自动化部署APP:自动化管理配置项:自动化的持续交付:自动化的(AWS)云服务管理. 所有的这几个目标本质上来说都是在一个台或者几台服务器上,执行一系列的命令而已,而如果你要管理的服务器是成千上万台的,那你用一台服务器去管理控制这大批量的服务器,势必会造成这台主控机的相当可观的资源消耗和性能的低下(即使

学习ansible playbook之前先了解下YAML语法

YAML 语法 本文来自于:http://www.ansible.com.cn/docs/YAMLSyntax.html 这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言). 我们使用 YAML 是因为它像 XML 或 JSON 是一种利于人们读写的数据格式. 此外在大多数变成语言中有使用 YAML 的库. 你可能希望读 Playbooks 实践中如何使用的. 基本的 YAML 对于 Ansible, 每一个 YAML 文件都是从一个列

【K8S】K8S-网络模型、POD/RC/SVC YAML 语法官方文档

K8S-网络模型.POD/RC/SVC YAML 语法官方文档 Kubernetes - Production-Grade Container Orchestration kubernetes/kubernetes: Production-Grade Container Scheduling and Management Posts containing 'yaml' - Stack Overflow how to pass a configuration file thought yaml o

Saltstack的YAML语法三大规则

YAML语法规则一:缩进YAML使用一个固定的缩进风格表示数据层结构关系,Saltstack需要每个缩进级别由两个空格组成.一定不能使用tab键规则二:冒号YAML:mykey: my_value每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格)规则三:短横线想要表示列表项,使用一个短横杠加一个空格.多个项使用同样的缩进级别作为同一个列表的一部分. my_dictionary:   - list_value_one   - list_value_two   -

Linux九阴真经之九阴白骨爪残卷5(ansible用法二之Playbook和YAML语法)

playbook是由一个或多个"play"组成的列表 play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲,所谓task无非是调用ansible的module.将多个play组织在一个playbook中,即可让他们联通起来按事先编排的机制运行. Playbook 采用yaml 语言编写每一个ansible 的 playbook 都是一个yaml格式的文件,因此要学习编写剧本(playbook), 我们先来了解 yaml 语法的基

YAML语法基础(K8s基础)

YAML 语言的设计目标,就是方便人类读写.它实质上是一种通用的数据串行化格式.它的基本语法规则如下. • 大小写敏感 • 使用缩进表示层级关系 • 缩进时不允许使用Tab键,只允许使用空格. • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 YAML支持的数据结构有三种. • 对象(Object):键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary) • 数组(Aarry):一组按次序排列的值,又称为序列(sequence) / 列表(l

yaml语法简单了解

YAML语法: 感觉yaml很类似python的书写格式,注重缩进,以数据为中心,比json.xml等更适合做配置文件 1.基本语法 k:(空格)v:表示一对键值对(空格必须有): 以空格的缩进来控制层级关系:只要是左对齐的一列数据,都是同一个层级的 server: port: 8081 path: /hello 属性和值也是大小写敏感: 2.值的写法 字面量:普通的值(数字,字符串,布尔) ? k: v:字面直接来写: ? 字符串默认不用加上单引号或者双引号: ? "":双引号:会转

YAML语法字符

各种类型的字符用于各种功能. 本章详细讨论了YAML中使用的语法,并重点介绍了字符操作. 指示符字符 指示符包括用于描述YAML文档内容的特殊语义. 下表详细说明了这一点. 编号 字符 功能 1 _ 它表示块序列条目 2 ? 它表示映射键 3 : 它表示映射值 4 , 它表示流集合条目 5 [ 它开始流序列 6 ] 它结束流序列 7 { 它启动流映射 8 } 它结束流映射 9 # 它表示注释 10 & 它表示节点的锚属性 11 * 它表示别名节点 12 ! 它表示节点的标签 13 Ι 它表示一个

yaml语法三大规则

规则一:缩进 yaml使用一个固定的缩进风格表示数据层结构关系,Saltstack需要每个缩进级别由两个空格组成.一定不能使用tab键 规则二:冒号 yaml:  mykey: my_value  每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格) 规则三:短横线 想要表示列表项,使用一个短横杠加一个空格.多个项使用同样的缩进级别作为同一个列表的一部分 my_dictionary: - list_value_one - list_value_two - lis