尝试获取一个YAML文档来解析我可以操作的python字典对象。我安装了filter: grayscale(0%)
。
pip install pyyaml
令我惊讶的是它返回一个字符串而不是字典!我在这里做错了什么?
答案 0 :(得分:3)
太多的空白。
>>> import yaml
>>> yamlstring = "some: var\nanother: 3"
>>> type(yaml.load(yamlstring))
dict
答案 1 :(得分:2)
如果要从YAML字符串生成数据结构,使用三重引用字符串更有意义,使用转义换行符启动它们并以换行符结束它们。您的示例将如下所示:
import yaml
yamlstring = """\
some: var
another: 3
"""
type(yaml.load(yamlstring))
这样就可以更容易地发现another
之前的额外空间,因为这会缩小YAML“结构”。
如果要嵌套在函数中(因此具有前导空格),请使用dedent
标准库中的textwrap
来删除该额外的前导空格。