1. yaml详解
YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便。它实质上是一种通用的数据串行化格式。YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。1.1 YAML基本语法规则
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- '#'表示注释
1.2 YAML数据类型
YAML 支持以下几种数据类型:
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值
1.2.1 YAML 对象
对象键值对使用冒号结构表示 key: value,冒号后面要加一个空格。
也可以使用 key:{key1: value1, key2: value2, ...}。
还可以使用缩进表示层级关系;
key: child-key: value child-key2: value2
较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的 key,配合一个冒号加一个空格代表一个 value
? - complexkey1 - complexkey2 : - complexvalue1 - complexvalue2
意思即对象的属性是一个数组 [complexkey1,complexkey2],对应的值也是一个数组 [complexvalue1,complexvalue2]
1.2.2 YAML数组
以 - 开头的行表示构成一个数组,- 后必须有空格做间隔:
- A - B - C
YAML 支持多维数组,可以使用行内表示:
key: [value1, value2, ...]
一个相对复杂的例子:
companies: - id: 1 name: company1 price: 200W - id: 2 name: company2 price: 500WView Code
意思是 companies 属性是一个数组,每一个数组元素又是由 id、name、price 三个属性构成。
数组也可以使用流式(flow)的方式表示:
companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 500W}]
》》》》未完待续
标签:PyYAML,数组,python,price,扩展,YAML,key,id,name From: https://www.cnblogs.com/wuxunyan/p/17596060.html