# 读取多个yaml文档

  • 多个文档在一个yaml文件,使用 --- 分隔方式来分段
  • 如果string或文件包含几块yaml文档,可以使用yaml.load_all来解析全部的文档,再从中读取对象中的数据

如:yaml文件中数据

# 分段yaml文件中多个文档
---
animal1: dog
age: 2
---
animal2: cat
age: 3

# yaml文件中含有多个文档时,分别获取文档中数据
def get_yaml_load_all(yaml_file):
    # 打开yaml文件
    file = open(yaml_file, 'r', encoding="utf-8")
    file_data = file.read()
    file.close()
    all_data = yaml.load_all(file_data)
    for data in all_data:
        print(data)
current_path = os.path.abspath(".")
yaml_path = os.path.join(current_path, "config.yaml")
get_yaml_load_all(yaml_path)
"""结果
{'animal1': 'dog', 'age': 2}
{'animal2': 'cat', 'age': 3}
"""