YAML基础 - littleboy12580/learning_python GitHub Wiki

介绍

YAML是专门用来写配置的语言,它实际上是一种通用的数据串行化格式,它与json类似,但用途与用法上更优于json

语法

YAML有以下基本语法规则:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

数据结构

YAML支持的数据结构有三种:

  • 对象:键值对集合(字典)
  • 列表
  • 纯量:单个不可再分的值

对象

键值对冒号表示,如 animal:pets

列表

一组连词线开头的行构成一个列表,示例如下:

- Cat
- Dog
- Goldfish

转化成python列表即为:['Cat', 'Dog', 'Goldfish']

纯量

纯量即是那种不可分的,如布尔值,数字,None,时间等等

引用

锚点&和别名*,可以用来引用,示例如下:

defaults: &defaults
  adapter:  postgres
  host:     localhost

development:
  database: myapp_development
  <<: *defaults

test:
  database: myapp_test
  <<: *defaults

以上代码等同于

defaults:
  adapter:  postgres
  host:     localhost

development:
  database: myapp_development
  adapter:  postgres
  host:     localhost

test:
  database: myapp_test
  adapter:  postgres
  host:     localhost