2024-05-03 11:15:59 发布
网友
在yaml标记中有一个文件
a: b:x test2 test test3
如何使用python(2.7.x)和pyyamlgetx?在
你不能!您发布的YAML结果是一个dict,它只包含一个键,a,它映射到值"b:x test2 test test3"-您可以通过pasting your YAML here轻松地进行测试。在
a
"b:x test2 test test3"
原因是您不能混合key: value对和无键项(就像数组中那样)。在
key: value
但是,让我们假设您有正确的YAML,它包含一个对象a,该对象包含另一个将b映射到x的对象。例如:
b
x
a: b: x c: test2 d: test e: test3
在本例中,您将使用foo['a']['b']访问x,其中{}是YAML解析器返回的对象。在
foo['a']['b']
获取foo的python代码如下所示:
foo
我使用safe_load,因为您很可能不打算从YAML文档创建任意Python对象,因此您希望使用一个函数,该函数在传递恶意YAML文档时不会打开安全漏洞。在
safe_load
你不能!您发布的YAML结果是一个dict,它只包含一个键,
a
,它映射到值"b:x test2 test test3"
-您可以通过pasting your YAML here轻松地进行测试。在原因是您不能混合
key: value
对和无键项(就像数组中那样)。在但是,让我们假设您有正确的YAML,它包含一个对象
a
,该对象包含另一个将b
映射到x
的对象。例如:在本例中,您将使用}是YAML解析器返回的对象。在
foo['a']['b']
访问x
,其中{获取
^{pr2}$foo
的python代码如下所示:我使用
safe_load
,因为您很可能不打算从YAML文档创建任意Python对象,因此您希望使用一个函数,该函数在传递恶意YAML文档时不会打开安全漏洞。在相关问题 更多 >
编程相关推荐