'yaml.parser.ParserError: expected '<document

What does #39;yaml.parser.ParserError: expected #39;lt;document startgt;#39;, but found #39;lt;block mapping startgt;#39;#39; mean?(yaml.parser.ParserError: expected lt;document startgt;, but found lt;block mapping startgt; 是什么意思?) - I
本文介绍了'yaml.parser.ParserError: expected '<document start>', but found '<block mapping start>'' 是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我有以下 YAML 文件:

I have the following YAML file:

[mysqld]
user: "mysql"
pid-file: /var/run/mysqld/mysqld.pid
skip-external-locking
old_passwords: 1
skip-bdb
skip-innodb
create_key: yes
needs_agent: no
knows_oop: True
likes_emacs: TRUE
women:
    - Mary Smith
    - Susan Williams

以及以下 Python 代码:

and the following Python code:

#!/usr/bin/env python

import yaml


with open("config.yml") as f:
    sample_config = f.read()

print(yaml.load(sample_config))

但它给了我:

Traceback (most recent call last):
  File "/home/moose/Desktop/bla.py", line 9, in <module>
    print(yaml.load(sample_config))
  File "/usr/local/lib/python2.7/dist-packages/yaml/__init__.py", line 71, in load
    return loader.get_single_data()
  File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 37, in get_single_data
    node = self.get_single_node()
  File "/usr/local/lib/python2.7/dist-packages/yaml/composer.py", line 39, in get_single_node
    if not self.check_event(StreamEndEvent):
  File "/usr/local/lib/python2.7/dist-packages/yaml/parser.py", line 98, in check_event
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "/home/moose/Desktop/bla.py"]
[dir: /home/moose/Desktop]
[path: /usr/local/texlive/2013/bin/x86_64-linux:/home/moose/google-cloud-sdk/bin:/home/moose/Downloads/google_appengine:/usr/local/texlive/2013/bin/x86_64-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]    self.current_event = self.state()
  File "/usr/local/lib/python2.7/dist-packages/yaml/parser.py", line 174, in parse_document_start
    self.peek_token().start_mark)
yaml.parser.ParserError: expected '<document start>', but found '<block mapping start>'
  in "<string>", line 2, column 1:
    user: "mysql"

我不知道是什么

expected '<document start>', but found '<block mapping start>'

意味着以及如何解决它.什么是<document start>,什么是<block mapping start>?

means and how to fix it. What is <document start> and what is a <block mapping start>?

推荐答案

您的文件不是有效的 YAML.它看起来像是 YAML 和 INI 文件 的混合体.

Your file isn't valid YAML. It looks like a mix of YAML and INI file.

  • 你不能在 YAML 中定义像 [mysql] 这样的块.如果要定义相关属性的集合,请使用带有嵌套键的列表:

  • You can't define blocks like [mysql] in YAML. If you want to define a collection of related properties, use a list with nested keys:

- service:
    name: mysql
    type: database
    port: 3306
- service:
    name: ssh
    type: remote access
    port: 22

  • 您不能使用 skip-external-locking 之类的裸词.每个属性都需要一个值.请改用 skip-external-locking: true.

  • You can't have bare words like skip-external-locking. Each property requires a value. Use skip-external-locking: true instead.

    这是您的文档的一个版本,其中修正了语法错误.我使用 YAMLLint 进行了检查,这是一个用于验证 YAML 的便捷工具.

    Here's a version of your document with the syntax errors fixed. I checked this over with YAMLLint, a handy tool for validating YAML.

    name: mysqld
    user: mysql
    pid-file: /var/run/mysqld/mysqld.pid
    skip-external-locking: true
    old_passwords: 1
    skip-bdb: true
    skip-innodb: true
    create_key: yes
    needs_agent: no
    knows_oop: True
    likes_emacs: TRUE
    women:
        - Mary Smith
        - Susan Williams
    

    这篇关于'yaml.parser.ParserError: expected '&lt;document start&gt;', but found '&lt;block mapping start&gt;'' 是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

    本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!
  • 相关文档推荐

    How do I make a list of all members in a discord server using discord.py?(如何使用 discord.py 列出不和谐服务器中的所有成员?)
    how to change discord.py bot activity(如何更改 discord.py 机器人活动)
    Issues with getting VoiceChannel.members and Guild.members to return a full list(让 VoiceChannel.members 和 Guild.members 返回完整列表的问题)
    Add button components to a message (discord.py)(将按钮组件添加到消息(discord.py))
    on_message() and @bot.command issue(on_message() 和@bot.command 问题)
    How to edit a message in discord.py(如何在 discord.py 中编辑消息)