
以下是YAML的简易教程,涵盖核心语法、数据结构及实践技巧:
Key与key视为不同。#开头,行尾结束。key: value)。表示键值对集合:
person:
name: Alice
age: 30行内简写:person: {name: Alice, age: 30}。
以- 开头表示列表项:
fruits:
- Apple
- Banana行内简写:fruits: [Apple, Banana]。
嵌套对象与数组:
company:
name: TechCorp
employees:
- name: John
role: Developer
- name: Sarah
role: Designer对应JSON:
{
"company": {
"name": "TechCorp",
"employees": [
{"name": "John", "role": "Developer"},
{"name": "Sarah", "role": "Designer"}
]
}
}
```[5](@ref)[8](@ref)
#### 4. **纯量(基本类型)**
- **字符串**:默认无需引号,含特殊字符(如`:`, `#`)时需加引号。
- **多行文本**:
`|`保留换行符:
```yaml
desc: |
Line 1
Line 2 # 输出"Line 1\nLine 2\n">折叠换行(转为空格):
desc: >
Line 1
Line 2 # 输出"Line 1 Line 2\n"
```[6](@ref)[8](@ref)
- **其他类型**:
- 布尔值:`true`/`false`(大小写不敏感)
- 空值:`~`或留空
- 时间/日期:ISO 8601格式(如`2025-07-09T14:30:00+08:00`)[6](@ref)[11](@ref)。
---
### 三、高级特性
#### 1. **锚点与别名**
避免重复定义:
```yaml
defaults: &config # 定义锚点
host: localhost
port: 8080
development:
<<: *config # 引用锚点
database: dev_db
test:
<<: *config
database: test_db等效于为development和test复用host和port值。
用!!指定类型:
str_int: !!str 123 # 转为字符串"123"
str_bool: !!str true # 转为字符串"true"
```[8](@ref)
---
### 四、Python操作YAML
1. **安装库**:
```bash
pip install pyyaml提示:使用在线工具(如YAML Validator)可实时校验语法。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。