语法注意
- 大小写敏感
- 缩进表示层级
- 缩进用空格,不能用tab
- 空格数不重要,重要的是对齐
- '#'表示注释
可以表示的数值
- 纯量(scalar):浮点、整型、时间戳、字符串。
- 列表
- 字典
在Python中使用
# 安装
pip install pyyaml# 导入包
import yaml# 可以使用优化输出,更好的显示字典
import pprint
pp = pprint.PrettyPrinter(indent=4)
表示纯量
boolean: TRUE
float: 1.11
int: 123
string: 'aaa'
date: 2011-11-20 # 日期必须是ISO 8601格式,yyyy-MM-dd
datetime: 2011-11-20T10:11:20+08:00 # 时间也是一样,时间和日期中间用T连接,最后用+代表时区
整个读出来是个字典
导入yaml文件内容:
with open("a.yaml", "r") as stream:pp.pprint(yaml.safe_load(stream))
表示列表
- 以
-开头,同级的是一个列表 - 也可用
[]表示一个列表
number:- 1- 2- 3
# number: [1, 2, 3]# 用 [] 表示
d: [1, 2, 3]
表示字典
dist:k1: v1k2: v2
引用
&锚点和*别名,可以用来引用
account: &acuser: rootpass: rootdb:driver: mysql<<: *ac
我们只看db,结果就是:
'db': {driver: mysql, pass: root, user: root}
如果不加<<:
db:driver: mysqlaccount: *ac
结果:
db: {account: {pass: root, user: root}, driver: mysql}
