YAML(Yet Another Markup Language)

简介: YAML(Yet Another Markup Language)是一种人类可读的数据序列化格式,常用于配置文件和数据交换。它的语法简洁、易读、易写,可以用于多种编程语言和平台。

YAML(Yet Another Markup Language)是一种人类可读的数据序列化格式,常用于配置文件和数据交换。它的语法简洁、易读、易写,可以用于多种编程语言和平台。

YAML 的语法结构类似于 JSON 和 XML,但更加简洁易懂。它使用缩进表示层次结构,使用冒号表示键值对。下面是一个 YAML 示例:

yaml
Copy

YAML 示例

name: John
age: 30
address:
city: New York
state: NY
zip: 10001
上面的 YAML 文件表示一个人的基本信息,包括姓名、年龄和地址。其中 address 是一个嵌套的结构,包含城市、州和邮编。

YAML 的主要用途是作为配置文件格式,用于在应用程序中配置参数和选项。例如,在 Python 中可以使用 PyYAML 库来解析和生成 YAML 文件:

python
Copy
import yaml

读取 YAML 文件

with open('config.yaml', 'r') as f:
config = yaml.safe_load(f)

输出配置参数

print(config['name'])
print(config['age'])
print(config['address']['city'])

写入 YAML 文件

config['age'] = 31
with open('config.yaml', 'w') as f:
yaml.dump(config, f)
上面的代码使用 PyYAML 库读取和写入 YAML 文件,并输出配置参数。通过修改配置参数并写入文件,可以动态地修改应用程序的行为。
-
-
可以应用于多种场景,以下是一些常见的应用场景:

配置文件:YAML 可以用于编写应用程序的配置文件,包括常规的配置参数、环境变量、日志设置、数据库连接等。

数据交换:YAML 可以用于数据交换格式,例如将数据从一个应用程序传输到另一个应用程序,或者将数据从一个编程语言转换为另一个编程语言。

模板引擎:YAML 可以用于编写模板引擎,例如通过 YAML 文件定义网站的布局和样式。

测试数据:YAML 可以用于编写测试数据,例如在测试用例中使用 YAML 文件定义输入和期望输出。

文档格式:YAML 可以用于编写文档格式,例如 Markdown 文档。

-

-

YAML 语法使用冒号和缩进来表示层次结构,以下是一些常用的 YAML 关键字:

字符串:使用单引号(')或双引号(")将字符串括起来,例如:
Copy
name: 'John'
age: "30"
列表:使用短横线(-)表示列表,例如:
Copy
fruits:

  • apple
  • banana
  • orange
    对象:使用冒号(:)表示键值对,例如:
    Copy
    address:
    city: New York
    state: NY
    zip: '10001'
    空值:使用 ~ 表示空值,例如:
    Copy
    value: ~
    引用:使用 & 和 表示引用,例如:
    Copy
    name: &name_ref John
    age: 30
    boss:
    name_ref
    上面的 YAML 示例中,使用 &name_ref 定义了一个名为 name_ref 的引用,使用 *name_ref 表示引用,这样可以避免重复定义相同的值。

如果您想深入学习 YAML,可以参考以下资料:

YAML 官方网站:https://yaml.org/
YAML 规范文档:https://yaml.org/spec/
PyYAML 官方文档:https://pyyaml.org/wiki/PyYAMLDocumentation
YAML 快速入门教程:https://www.tutorialspoint.com/yaml/index.htm

目录
相关文章
|
7月前
|
XML C语言 数据格式
yaml基本语法
yaml基本语法
92 0
|
3月前
|
XML JSON 数据格式
YAML语言介绍
YAML语言介绍
21 0
|
4月前
|
Kubernetes API 容器
在K8S中,deployment的yaml文件如何编写呢?
在K8S中,deployment的yaml文件如何编写呢?
|
JSON Kubernetes 数据格式
error parsing deployment-nginx.yml: error converting YAML to JSON: yaml: line 19 问题解决
error parsing deployment-nginx.yml: error converting YAML to JSON: yaml: line 19 问题解决
401 0
|
XML 存储 JSON
YAML教程:5分钟内开始使用YAML
YAML教程:5分钟内开始使用YAML
1290 0
|
XML JSON 数据格式
yaml语法
yaml语法
|
JavaScript 数据库
codemirror+js-yaml实现YAML格式的文本编辑器以及校验YAML格式是否符合规范的实现
codemirror+js-yaml实现YAML格式的文本编辑器以及校验YAML格式是否符合规范的实现
3092 0
|
XML JSON 前端开发
深入对比TOML,JSON和YAML
坦率地说,在我开始与Hugo TOML合作之前,我感到羞耻是一个需要发现的新领域,但我对YAML和JSON非常熟悉。本文将帮助您了解如何通过不同的数据格式构建数据。       在Hugo中,您可以将所有这三种数据格式用于配置,前置事项和自定义数据,但TOML是用于整个项目的推荐格式。
9649 0
|
Java 开发者
yaml 语法|学习笔记
快速学习 yaml 语法