简介

PyYAML用于将YAML格式的数据解析为Python对象,或将Python对象转换为YAML格式的数据。YAML是一种易于阅读和编写的数据序列化格式,常用于配置文件、数据传输和存储等场景。

安装

pip install pyyaml

使用

Load

假设有一个名为example.yml的YAML文件,其中包含以下内容:

name: John
age: 30
hobbies:
  - reading
  - hiking

我们可以通过yaml.load(file,Loader=yaml.Loader)的方法装载YAML文件,这将返回一个装有数据的字典,如:

import yaml

with open("example.yml") as f:
    load_data = yaml.load(f, Loader=yaml.Loader)

print(load_data)
print(load_data["name"], type(load_data["name"]))
print(load_data.get("age"), type(load_data.get("age")))
print(load_data["hobbies"], type(load_data["hobbies"]), load_data["hobbies"][0])

输出结果:

{'name': 'John', 'age': 30, 'hobbies': ['reading', 'hiking']}
John  <class 'str'>
30  <class 'int'>
['reading', 'hiking']  <class 'list'>  reading

也可以使用yaml.safe_load()方法,这样就可以不用传Loader=yaml.Loader形参了,如:

import yaml

with open("example.yml") as f:
    load_data = yaml.safe_load(f)

print(load_data)

输出结果:

{'name': 'John', 'age': 30, 'hobbies': ['reading', 'hiking']}

dump

可以使用PyYAML将Python对象转换为YAML格式的数据。假设有一个名为data的Python字典:

data = {
    'name': 'John',
    'age': 30,
    'hobbies': ['reading', 'hiking']
}

可以使用yaml.dump(data)yaml.safe_dump(data)将其转换为YAML格式的数据:

import yaml

yaml_data = yaml.dump(data)
# dump_data = yaml.safe_dump(data)
print(yaml_data)

输出结果:

age: 30
hobbies:
- reading
- hiking
name: John

然后可以将该结果写入到YAML文件中:

with open("example.yml","w") as f:
    f.write(yaml_data)
文章作者: Vsoapmac
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 soap的会员制餐厅
python 第三方库 个人分享
喜欢就支持一下吧