Не удалось загрузить 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 

Я обнаружил это, когда пытался загрузить файл YAML с помощью PyYaml. Я погуглил, но ничего не нашел.


person ismailsunni    schedule 09.02.2012    source источник


Ответы (3)


Проблема в том, что я не получил действительный файл YAML. Сначала я подумал, что мой код неверен, но после того, как я проверил онлайн-анализатор YAML, он вернул тот же результат. Предполагая, что веб-сайт правильный, файл YAML недействителен.

person ismailsunni    schedule 10.02.2012

У меня была такая же ошибка, но для меня это была проблема с отступом (!)

person Jayen Chondigara    schedule 16.03.2016

Номер строки с ошибкой может ввести в заблуждение. Посмотрите на весь раздел (отступ), который, скорее всего, начинается с указанного номера строки.

В моем случае это была опечатка в файле. Я имел:

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

Синтаксическому анализатору явно не нравились внешние кавычки asdf для значения sub3, однако номер строки и столбец с ошибкой указывали на первую запись в отступе (sub1), а не на sub3, где на самом деле была ошибка.

person Gio    schedule 23.10.2019