yaml文件规则
1.区分大小写
2.使用缩进表示层级关系
3.使用空格缩进,而非Tab,缩进空格数目不固定,但需要同级对齐
4.字符串不需要引号标注,但字符串有特殊的字符则需要引号
5.注释为#
yaml数据结构
1.字典:使用":“表示,”:“与值之间需要空格分隔
2.数组:数组用”-"表示,符号与值之间用空格分隔
3.纯量:
4.None:用null表示
5.布尔值:true
7.转义字符:用双引号,表示不转义
import yaml
with open("./test.yaml",'r',encoding='utf-8') as f:
fileData = f.read()
yamlData = yaml.load(fileData)
print(yamlData)
1.读取字典
1.1普通字典
user: wang
psw: 12345
s: "ab\n" # 读取的时候不会转义`\n`
{'user': 'my', 'psw': 12345, 's': 'abc\n'}
1.2多层字典
user: # user后跟的是个字典
name: wang
psw: 12345
family:
father: xxx
mother: yyy
{'user': {'name': 'wang', 'psw': 12345, 'family': {'father': 'xxx', 'mother': 'yyy'}}}
1.3字典嵌套列表
user:
name: wang
score:
- 94
- 100
- 87
{'user': {'name': 'wang', 'score': [94, 100, 87]}}
2.读取列表
score:
- 94
- 100
- 87
{'score': [94, 100, 87]}
参考:
https://www.jianshu.com/p/eaa1bf01b3a6