PyYAML--轻松解析和生成YAML数据的利器
简介
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)
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
soap的会员制餐厅!
喜欢就支持一下吧