Python使用pyyaml模块处理yaml数据的方法

  介绍

这篇文章主要讲解了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数据的方法