预期的块结束YAML错误

预期的块结束YAML错误,yaml,Yaml,将此YAML文件粘贴到在线YAML解析器时,我得到了预期的块结束错误: ADDATTEMPTING: 'Tentative d ajout ' ATTEMPTINGTOGIVE: 'Tenter de donner ' ATTEMPTINGTOSET1: 'Tentative de définition ' ATTEMPTINGTOSET2: ' avec ' ALREADYEXISTS: 'Erreur. Package existe déjà’ CANCEL1: 'Annulation...

将此YAML文件粘贴到在线YAML解析器时,我得到了预期的块结束错误:

ADDATTEMPTING: 'Tentative d ajout '
ATTEMPTINGTOGIVE: 'Tenter de donner '
ATTEMPTINGTOSET1: 'Tentative de définition '
ATTEMPTINGTOSET2: ' avec '
ALREADYEXISTS: 'Erreur. Package existe déjà’
CANCEL1: 'Annulation...'
(...)
错误

错误:
在分析块映射时
在“”第1行第1列中:
AddDesting:“暂定d ajout”
^
应为,但找到“”
在“”第6行第11列中:
取消1:'取消…'
^

开头的行已经存在
使用
'
作为结束引号,它应该使用
'
。下一行(报告错误的地方)的开放报价被视为结束报价,这种混淆导致了错误

我想让这个答案有意义,所以是同样的 错误的用户可以享受而不感到任何麻烦

事实上,我得到了相同的错误,但出于不同的原因,在我的例子中,我没有使用任何类型的引号,仍然得到了与
预期相同的错误,但找到了BlockMappingStart

我通过在同一个.yml文件中修复对齐问题来解决它。

如果我们没有管理适当的“选项卡空间(键盘键)” 保持继承人或祖先,那么我们必须分阶段进行这样的工作 事情


现在我做得很好。

如果使用四个空格而不是两个空格缩进,也会出现此错误

e、 例如,以下内容将引发错误:

fields:
    - metadata: {}
        name: colName
        nullable: true
而将缩进更改为两个空格将解决此问题:

fields:
  - metadata: {}
    name: colName
    nullable: true

使用YAML时,请记住,它完全是关于通过层次结构(缩进)定义配置所使用的空间。解析YAML文档时遇到的许多问题都源于给定YAML文件中某个键值之前的额外空格(或空格不足)。

YAML严格遵循缩进结构。即使只有一个空格/选项卡也可能导致上述问题。在我的例子中,一开始只有一个空格


因此,请确保在更新YAML文件时没有引入额外的空格/制表符。在我的例子中,当我试图传递一个看起来像字节对象(b“xxxx”)但实际上是字符串的变量时,出现了错误

您可以将字符串转换为实字节对象,如下所示:

foo.strip('b"').replace("\\n", "\n").encode()

我有同样的错误,但对我来说这是一个缩进问题(!)我在启动storm nimbus守护进程时遇到了同样的错误。通过替换storm.yaml文件中的“->”解决了此错误。谢谢。
foo.strip('b"').replace("\\n", "\n").encode()