PyYaml是Python的一个专门针对YAML文件操作的模块
方法 | 说明 |
---|---|
yaml.load(yaml_str, Loader=yaml.SafeLoader) | 解析yaml_str,返回一个对象 Loader有四种模式: BaseLoader: 仅加载最基本的YAML; SafeLoader: 安全地加载YAML语言的子集。建议加载不可信的输入; FullLoader: 加载完整的YAML语言。避免执行任意代码。当前(PyYAML 5.1)是yaml.load(input)(在发出警告之后)调用的默认加载程序。 UnsafeLoader:(也要求Loader向后兼容)不受信任的数据输入可以轻易利用的原始Loader代码。 |
yaml.safe_load | 快捷“糖”方式, 等效于yaml.load(yaml_str, Loader=yaml.SafeLoader) |
yaml.full_load | 快捷“糖”方式, 等效于yaml.load(yaml_str, Loader=yaml.FullLoader) |
yaml.unsafe_load | 快捷“糖”方式, 等效于yaml.load(yaml_str, Loader=yaml.UnsafeLoader) |
yaml.load_all(ymlfile, Loader=yaml.SafeLoader) | 生成一个迭代器,如果string或文件包含几块yaml文档,可以使用yaml.load_all来解析全部的文档。 |
yaml.dump(json_data) | 将一个python对象生成为yaml文档,有第二个参数,可以直接把内容写入到对应的文件中 |
yaml.dump_all() | 将多个段输出到一个文件中 |
load方法实例:
import yaml
yaml_str = """
name: 一条大河
age: 1956
job: Singer
"""
y = yaml.load(yaml_str, Loader=yaml.SafeLoader)
print(y)
运行结果:
{
'name': '一条大河'