1 yaml简介
正如YAML所表示的YAML Ain’t Markup Language,YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。
由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。列一下现有的语言实现:Ruby,Java,Perl,Python,PHP,JavaScript等。
YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。比如同一段数据Josn和Yaml的表示分别如下:
Json
{
name: 'Tom Smith',age: 37,spouse: {
name: 'Jane Smith', age: 25 },children: [ {
name: 'Jimmy Smith', age: 15 },{
name: 'Jenny Smith', age: 12 } ] }
yaml
name: Tom Smith
age: 37
spouse:
name: Jane Smith
age: 25
children:
- name: Jimmy Smith
age: 15
- name: Jenny Smith
age: 12
语法特点
(1)大小写敏感
(2)使用缩进表示层级关系
(3)缩进时不允许使用Tab键,只允许使用空格。
(4)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
yaml下载安装
下载地址:http://pyyaml.org/wiki/PyYAML
本地安装Python版本为3.7
选择下载对应的3.7的安装版本
安装:
安装完成后在python引入yaml检测是否安装成功。
PyYAML官方文档
2 yaml数据类型详解
支持数据类型
1.纯量(scalars):单个的、不可再分的值
2.数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
3.对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
纯量
数据最小的单位,不可以再分割。类似于Python中单个变量flag
list数组