yaml 配置笔记

yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言。
yaml 是专门用来写配置文件的语言,非常简洁和强大,这个更直观,更方便,类似于json格式。

参考

Yaml文件的基础知识
python读取yaml配置文件
python:yaml模块

基本语法规则

大小写敏感;
使用缩进表示层级关系;
缩进时不允许使用Tab键,只允许使用空格;
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可;
其中#表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样。

yaml支持的数据结构

有三种:

  1. 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  2. 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  3. 纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期
# 纯量
s_val: name                         # 字符串:{'s_val': 'name'}
spec_s_val: "name\n"                # 特殊字符串:{'spec_s_val': 'name\n'
num_val: 31.14                      # 数字:{'num_val': 31.14}
bol_val: true                       # 布尔值:{'bol_val': True}
nul_val: null                       # null值:{'nul_val': None}
nul_val1: ~                         # null值:{'nul_val1': None}
time_val: 2018-03-01t11:33:22.55-06:00     # 时间值:{'time_val': datetime.datetime(2018, 3, 1, 17, 33, 22, 550000)}
date_val: 2019-01-10                       # 日期值:{'date_val': datetime.date(2019, 1, 10)}

与python

安装:pip install pyyaml
导入:import yaml
python通过open方式读取文件数据,再通过load函数将数据转化为列表或字典。

file = open(yaml_file, 'w', encoding='utf-8')  # 打开文件
file_data = file.read()                        # 读取数据,输出<class 'str'>类型
file.close()                                   # 关闭文件
data = yaml.load(file_data)                    # 转化yaml数据为字典或列表,输出<class 'dict'>类型
posted @ 2022-10-10 23:30  Skye_Zhao  阅读(210)  评论(0编辑  收藏  举报