这篇文章主要讲解了Python使用pyyaml模块处理yaml数据的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
pyyaml模块在Python中用于处理yaml格式数据,主要使用yaml.safe_dump (), yaml.safe_load()函数将Python值和yaml格式数据相互转换。当然也存在yaml.dump (), yaml.load()函数,同样能实现数据转换功能,只是官方不太推荐使用。官方给出的解释,因为yaml.safe_dump (), yaml.safe_load()能够:
解决>进口yaml dict_data=https://www.yisu.com/zixun/{“a”: 1、“b”: 2} 用开放(的数据。yaml”、“w”,编码=皍tf - 8”)作为yaml_file: yaml。safe_dump (dict_data yaml_file)
如果上述yaml.dump()中不带第二个参数,则会返回一个类似yaml格式的字符串
进口yaml dict_data=https://www.yisu.com/zixun/{“a”: 1、“b”: 2} yaml_string=yaml.safe_dump (dict_data) print(类型(yaml_string)) 打印(yaml_string)运行结果:
& lt;类& # 39;str # 39;在
引用>
:
1 b: 2
<强> yaml.safe_load() 强>
将yaml格式文件转换为python值,接第一例子,示例如下:
进口yaml 张开(& # 39;data.yaml& # 39;,编码=& # 39;utf - 8 # 39;) yaml_file: data=https://www.yisu.com/zixun/yaml.safe_load (yaml_file) print(类型(数据)) 打印(数据)运行结果:
& lt;类& # 39;dict # 39;在
引用>
{& # 39;一个# 39;:1 & # 39;b # 39;: 2}
<强> yaml.safe_dump_all() 强>
将一序列的python值转换为yaml格式文件,如果yaml.safe_dump_all()中不带第二个参数,则与yaml.dump()类似,会返回一个类似yaml格式的字符串
进口yaml dict_data1={& # 39;一个# 39;:1 & # 39;b # 39;: 2} dict_data2={& # 39; c # 39;: 3 & # 39; d # 39;: 4} yaml_string=yaml。safe_dump_all ([dict_data1 dict_data2]) print(类型(yaml_string)) 打印(yaml_string)运行结果:
& lt;类& # 39;str # 39;比; 答:1 b: 2 --- c: 3 d: 4<强> yaml.safe_load_all() 强>
将yaml格式文件转换为python值,该yaml文件可以包含多块yaml数据,用法如下:
进口yaml 张开(& # 39;data.yaml& # 39;,编码=& # 39;utf - 8 # 39;) yaml_file: data=yaml.safe_load_all (yaml_file) 项目的数据: 打印(项)运行结果:
{& # 39;一个# 39;:1 & # 39;b # 39;: 2}
引用>
{& # 39; c # 39;: 3 & # 39; d # 39;: 4}
Python使用pyyaml模块处理yaml数据的方法