YAML基础知识
YAML的基本语法规则
1.大小写敏感
2.使用缩进表示层级关系
3.缩进时不允许使用Tab键,只允许使用空格
4.使用’# ’进行注释
YAML 的数据结构
对象:键值对的集合,字典(dictionary)
数组:列表(list)
纯量:单个的、不可再分的值
对象类型
对象的一组键值对,使用冒号结构表示,会转换成 Python 中的字典。
YAML中定义的数据:
animals:dog
对应转换到Python中的数据类型:
{'animals': 'dog'}
YAML中定义的数据:
person:{name:Tom, age:20, gender:male}
对应转换到Python中的数据类型:
{'person': {'name': 'Tom', 'age': 20, 'gender': 'male'}}
数组类型
数组类型使用 - 为前缀,每个元素独占一行,通过缩进关系表示层级包含关系,会转换成 Python 中的列表。
YAML中定义的数据:
-aaa
-bbb
-ccc
-ddd
-eee
对应转换到Python中的数据类型:
['aaa', 'bbb', 'ccc', 'ddd', 'eee']
纯量类型
纯量类型是最基本的、不可再分的值;类似基本数据类型。
例如:
字符串
布尔值,true,false
整数
浮点数
Null,~ 表示 Null
YAML中定义的数据:
int: 66
float: 66.66
string: cats
bool: true
None: ~
对应转换到Python中的数据类型:
{
'int': 66,
'float': 66.66,
'string': 'cats',
'bool': True,
'None': None,
}
Tips:有 : 后面的内容就解析成字典,有 - 后面的内容就解析成列表的元素
YAML 文件处理
安装YAML
pip install pyyaml
读取 YAML 数据
import yaml
with open(filePath, 'r', encoding='utf-8') as file:
data = yaml.safe_load(file)
写入 YAML 数据
import yaml
data = {
'key1': 'value1',
'key2': 'value2',
'key3': 'value3'
}
with open(filePath, 'w', encoding='utf-8') as file:
yaml.safe_dump(data, file)
清空YAML数据
import yaml
with open(filePath, mode='w') as file:
file.truncate()