一、安装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文件和字符串。