2

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

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 文件时发现了它。我用谷歌搜索了它,但我没有找到任何东西。

4

3 回答 3

4

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

于 2012-02-10T09:42:33.543 回答
1

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

就我而言,这是文件中的错字。我有:

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

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

于 2019-10-23T05:44:16.237 回答
0

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

于 2016-03-16T15:00:06.203 回答