无法使用PyYaml加载YAML?

时间:2012-02-09 05:21:11

标签: python yaml pyyaml

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

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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

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