首页 > 解决方案 > ScannerError:Python 上不允许映射值

问题描述

我在打开一个我应该为小组项目使用的 yaml 文件时遇到了一些问题。

给出错误的代码非常简单;

import yaml
with open('test2.yaml') as f:    
    data = yaml.load(f, Loader=yaml.FullLoader)
    print(data)

错误信息是;

ScannerError: mapping values are not allowed here
  in "test2.yaml", line 118, column 73

我已经调查过这个问题,应该是 yaml 文件的格式有问题。但是,我用不同的 yaml 文件尝试了这个,但它们都不起作用。我还尝试了一个在线 yaml 文件验证器,这些文件看起来还不错。我真的不明白这里出了什么问题,并希望得到任何帮助。

顺便说一句,yaml 文件的示例也如下所示;

description:
  set: 'Container'
  name: 'Test'
layout:
  containers:
  - id: 1
    kindid: 1
    loadingspaces:
    - id: 1
      placements:
      - id: 1
        itemid: 1
        position: 0,0,0
        orientation: 'LWH'
      - id: 2
        itemid: 1
        position: 0,0,500
        orientation: 'LWH'
      - id: 3
        itemid: 1
        position: 0,500,0
        orientation: 'LWH'
  pallets: []
  boxes: []
  unplaced:
  - id: 4
    itemid: 1
    quantity: 1

标签: pythonyaml

解决方案


推荐阅读