YAML(YAML 不是标记语言)是一种非常灵活的格式,几乎是 JSON 的超集,已经被用在一些著名的项目中,如 Travis CI、Circle CI 和 AWS CloudFormation。YAML 的库几乎和 JSON 一样无处不在。除了支持注释、换行符分隔、多行字符串、裸字符串和更灵活的类型系统之外,YAML 也支持引用文件,以避免重复代码。
基本语法规则:
大小写敏感
使用缩进表示层级关系
不允许使用Tab键缩进,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
# 表示注释,从这个字符一直到行尾,都会被解析器忽略。
字符串可以不用引号标注
YAML 支持的数据结构有三种:
对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)。
数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)。
纯量(scalars):单个的、不可再分的值。
示例:
# 对象name: Mary
age: 17
# 数组ipaddr:
# IP地址列表- 120.168.117.21
- 120.168.117.22
- 120.168.117.23
# 纯量element
数据结构嵌套:
对象和数组的元素可以是另一个对象或者数组或者是纯量。
# 对象嵌套对象websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org
# 对象嵌套数组languages:
- Ruby
- Python
- c
- Java
# 数组嵌套数组-
- Ruby
- Python
- Perl
-
- c
- c++
- Java
# 数组嵌套对象-
id: 1
name: 小明
-
id: 2
name: 李雷
[if !supportLineBreakNewLine]
[endif]
python3使用YAML示例:
# coding = utf-8
import yaml
file = open("desired_caps.yaml", 'r')
desired_caps = yaml.safeload(file)
参考文章:https://www.jianshu.com/p/36f6acedf378
网友评论