深入解析YAML配置文件/结合Python语言 深入解析 YAML 配置文件:从语法到最佳实践_yaml配置文件-CSDN博客
Yaml的语法特点:
- 使用缩进表示层级关系,不使用大括号或者其他符号
- 使用冒号来表示键值对
- 使用列表和嵌套结构
- 使用"#"作为注释
- 支持引用和锚点,可以在文档中引用其他部分的数据。
具体语法:
- 字符串: 语法规范:使用单引号或双引号将字符串括起来。字符串的引号也可以省略
name: "Jone" addr: "长沙"
- 数字: 语法规范:直接写入数字即可。
age: 30
- 布尔值:语法规范:使用true表示真,使用false表示假
isStudent: true isTeacher: false
- 列表: 语法规范:使用短横线(-)表示列表项,列表项之间使用换行进行分隔。
fruits: - apple - banana - orange
- 字典: 语法规范:使用冒号(:)表示键值对,键值对之间使用空格进行分隔。
person: name: "John" age: 30
- 空值:使用null表示空值
status: null
- 注意:YAML对于缩进非常敏感,使用空格进行缩进来表示层级,缩进的空格数目可以是2个或者4个。但整个文档必须保持一致
Python操作YAML文件
- python操作yaml文件的库:pYyaml 需要pip安装,导入的时候是:import yaml
- safe_load()读取yaml文件: 接收的参数是文件对象
import yaml with open("./data.yaml", "r") as fp: data = yaml.safe_load(fp) print(data)
- dump()写入yaml文件:
import yaml data = { "Person": { "name": "John", "age": 30, "address": { "street": "123 Main St", "city": "Anytown", "state": "CA" } } } with open("./data.yaml", "w") as fp: yaml.dump(data, fp)