无法使用PyYaml加载YAML?

2024-04-28 09:29:58 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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文件时发现了它。我搜索了一下,但什么也没找到。


Tags: intokenyml错误linecolumnblockstart
3条回答

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

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

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

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

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

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

相关问题 更多 >