解析yaml python

2024-05-03 11:15:59 发布

您现在位置:Python中文网/ 问答频道 /正文

在yaml标记中有一个文件

 a:
  b:x
  test2
  test
  test3

如何使用python(2.7.x)和pyyamlgetx?在


Tags: 文件标记testyamltest2test3pyyamlgetx
1条回答
网友
1楼 · 发布于 2024-05-03 11:15:59

你不能!您发布的YAML结果是一个dict,它只包含一个键,a,它映射到值"b:x test2 test test3"-您可以通过pasting your YAML here轻松地进行测试。在

原因是您不能混合key: value对和无键项(就像数组中那样)。在

但是,让我们假设您有正确的YAML,它包含一个对象a,该对象包含另一个将b映射到x的对象。例如:

a:
    b: x
    c: test2
    d: test
    e: test3

在本例中,您将使用foo['a']['b']访问x,其中{}是YAML解析器返回的对象。在

获取foo的python代码如下所示:

^{pr2}$

我使用safe_load,因为您很可能不打算从YAML文档创建任意Python对象,因此您希望使用一个函数,该函数在传递恶意YAML文档时不会打开安全漏洞。在

相关问题 更多 >