【问题标题】:Failed to load YAML using PyYaml?使用 PyYaml 加载 YAML 失败?
【发布时间】:2012-03-01 15:00:08
【问题描述】:

有没有人发现过这样的错误?

File "C:\Python27\lib\site-packages\yaml\parser.py", line 439, in parse_block_mapping_key
"expected <block end>, but found %r" % token.id, token.start_mark)

ParserError: while parsing a block mapping
  in "a.yml", line 1, column 1
expected <block end>, but found '<block mapping start>'
  in "a.yml", line 224, column 2 

我在尝试使用 PyYaml 加载 YAML 文件时发现了它。我用谷歌搜索了它,但我没有找到任何东西。

【问题讨论】:

    标签: python yaml pyyaml


    【解决方案1】:

    错误的行号可能会产生误导。查看最有可能从报告的行号开始的整个部分(缩进)。

    在我的情况下,这是文件中的错字。我有:

    key5: sub1: 234 sub2: 9879 sub3: "string in quotes"asdf sub4: "another string in quotes"

    解析器显然不喜欢 sub3 值的 asdf 外部引号,但是错误的行号和列指向缩进 (sub1) 中的第一个条目,而不是 sub3 中的错误实际上是。

    【讨论】:

      【解决方案2】:

      我遇到了同样的错误,但对我来说这是一个缩进问题(!)

      【讨论】:

        【解决方案3】:

        问题是,我没有得到有效的 YAML 文件。起初,我以为我的代码是错误的,但是,在我检查了Online YAML Parser 它返回相同的输出。假设网站正确,则 YAML 文件无效。

        【讨论】:

          猜你喜欢
          • 2019-05-24
          • 1970-01-01
          • 2015-10-23
          • 1970-01-01
          • 1970-01-01
          • 2021-05-17
          • 2012-11-11
          • 2011-10-12
          • 2017-10-01
          相关资源
          最近更新 更多