1,安装解析yaml的库
pip inatall PyYaml
2,yaml支持的数据结构
对象,以键值对的形式,比如字典
数组,比如列表
纯量(单个不可分割的值)
其中字典和列表用的比较多。
值为字典:
data1.yaml
dog: 'wangwang'
age: '10'
color: 'white'
字典的格式: 键名 冒号 空格 键值
列表格式:
- '1'
- '2'
写列表时,写的是列表里的元素。先写一个 -(在yml文件中,所有的横线都是表示这个数据是列表里的元素), 再写一个空格,再写内容。列表的标志是它有一个横线。
data2.yaml
- '1'
- '2'
3,yml文件中字典,列表嵌套的格式
在一个文件中,使用缩进表示层级关系。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可。
报错:TabError: inconsistent use of tabs and spaces in indentation
解决:不用tab键,用四个空格键代替即可。有时候这样可以解决问题,但有时候也不能解决问题。问题无非就是空格的事,最简单的就是把刚才写的程序复制一下再删除掉,把光标删除到上一次开始写的地方,粘贴或者重新写一下试试,
字典嵌套字典:
想把python格式为{name: 'huifeng', info: {loc: 'gaoxin', tel: '029-'}}在yml文件中表示:
name: 'huifeng'
info:
loc: 'gaoxin'
tel: '029-'
字典嵌套列表:
把python格式为{name: 'huifeng', info:[1, 2, 3]}在yml文件中表示:
name: 'huifeng'
info:
- '1'
- '2'
- '3'
列表嵌套字典
[1, {size: 10px, loc: {x: 10px, y: 20px}}, 3]在yml文件中表示:
- 1
-
size: '10px'
loc:
x: '10px'
y: '20px'
- 5
列表嵌套列表
[1, [01, 02], 3]在yml文件中为
- 1
-
- 01
- 02
- 3
4,读写yaml文件
Python格式的数据,如demo2020.py写入到demo2020_text.yml文件中,则生个一个yml文件,里面装载数据。
在当前目录下,生成的文件为demo2020_text.yaml
在Python中读取yaml文件