您的位置:

Python读取YAML的完整指南

一、安装pyyaml

使用Python读取YAML文件需要先安装pyyaml库,使用pip命令即可安装:

pip install pyyaml

二、读取YAML文件

在python中,可以使用pyyaml库的load函数读取YAML文件:

import yaml

with open('example.yaml', 'r') as file:
    content = yaml.load(file, Loader=yaml.FullLoader)

上面的代码将example.yaml文件读取到content变量中。需要注意的是,在使用pyyaml时,为了避免潜在的安全问题,建议使用FullLoader。

三、读取字符串

如果要读取YAML格式的字符串,可以使用pyyaml库的load函数:

import yaml

content = yaml.load('name: John\nage: 30\n', Loader=yaml.FullLoader)

上面的代码将字符串"name: John\nage: 30\n"读取到content变量中。

四、读取多个文档

如果要读取多个YAML文件或字符串,每个文件或字符串都是一个单独的文档,可以使用pyyaml库的load_all函数:

import yaml

with open('example.yaml', 'r') as file:
    content = yaml.load_all(file, Loader=yaml.FullLoader)

for doc in content:
    print(doc)

上面的代码将example.yaml文件中的多个文档读取到content变量中,然后使用for循环遍历输出。

五、读取特定节点

如果只需要读取YAML文件或字符串中的一个节点,可以使用pyyaml库的safe_load函数,然后使用字典方式读取:

import yaml

content = yaml.safe_load('name: John\nage: 30\n')
print(content['name']) # 输出 John

上面的代码只读取了'name'节点。

六、写入YAML文件

使用pyyaml库可以将Python对象写入YAML格式的文件中,使用dump函数即可:

import yaml

data = {
    'name': 'John',
    'age': 30
}

with open('example.yaml', 'w') as file:
    yaml.dump(data, file)

上面的代码将Python对象data写入example.yaml文件中。

七、写入字符串

如果要将Python对象写入YAML格式的字符串中,可以使用pyyaml库的dump函数:

import yaml

data = {
    'name': 'John',
    'age': 30
}

content = yaml.dump(data)
print(content)

八、总结

本文介绍了使用Python读取和写入YAML文件的方法,包括安装pyyaml库、读取YAML文件、读取YAML字符串、读取多个文档、读取特定节点、写入YAML文件和写入YAML字符串。使用这些方法,我们可以方便地读取和写入YAML文件和字符串。