相关疑难解决方法(0)

为什么initial-data.yml不允许映射电子邮件的值?

我正在构建一个intial-data.yml文件来测试我的游戏!应用程序,但是当我尝试加载页面时,我在读取intial-data.yml文件时收到错误.它似乎能够解析用户名,名字和姓氏字段,但当它到达电子邮件时,它会吐出以下错误:

play.exceptions.YAMLException: null; mapping values are not allowed here (in file /conf/initial-data.yml line 7, column 11)
    at play.test.Fixtures.loadModels(Fixtures.java:234)
    at Bootstrap.doJob(Bootstrap.java:12)
    at play.jobs.Job.doJobWithResult(Job.java:50)
    at play.jobs.Job.call(Job.java:146)
    at Invocation.Job(Play!)
Caused by: mapping values are not allowed here
 in "<reader>", line 7, column 11:
         email:     myemail@gmail.com
              ^
Run Code Online (Sandbox Code Playgroud)

我的YML文件中的第一个条目如下所示:

# Test data

User(Dan):
    username:   Username1
    fname:      John
    lname:      Doe
     email:     myemail@gmail.com
     password:     password1
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样?

java yaml playframework

4
推荐指数
1
解决办法
2039
查看次数

PyYAML 错误:“yaml.scanner.ScannerError:此处不允许映射值”

解析 YAML 时出现奇怪的错误:

yaml.scanner.ScannerError: mapping values are not allowed here
Run Code Online (Sandbox Code Playgroud)

根据YAML Lint,我尝试读取的 YAML 文件是有效的

另一个奇怪的事情是它在我的笔记本电脑(Arch Linux)上运行良好,但在服务器(Ubuntu)上运行不正常。尽管两台机器上的 PyYAML 版本是相同的。

我在 stackoverflow 上看到过 其他帖子,其中人们缺少冒号后面的空格,但我没有缺少任何空格。

这是完整的 YAML 文件:

yaml.scanner.ScannerError: mapping values are not allowed here
Run Code Online (Sandbox Code Playgroud)

这是完整的堆栈跟踪:

Traceback (most recent call last):
  File "/usr/local/bin/someproject", line 9, in <module>
    load_entry_point('someproject==0.0.1', 'console_scripts', 'someproject')()
  File "/usr/local/lib/python3.4/dist-packages/someproject-0.0.1-py3.4.egg/someproject/__init__.py", line 19, in main
    pipeline.Pipeline(parser.parse_args().scriptfile).start()
  File "/usr/local/lib/python3.4/dist-packages/someproject-0.0.1-py3.4.egg/someproject/pipeline/pipeline.py", line 20, in __init__
    self._raw_pipeline = self._parse_yaml(yamlscript)
  File "/usr/local/lib/python3.4/dist-packages/someproject-0.0.1-py3.4.egg/someproject/pipeline/pipeline.py", line 55, in _parse_yaml
    data = yaml.load(yamlscript)
  File "/usr/local/lib/python3.4/dist-packages/PyYAML-3.11-py3.4-linux-x86_64.egg/yaml/__init__.py", line 72, in load …
Run Code Online (Sandbox Code Playgroud)

python yaml pyyaml python-3.4

4
推荐指数
1
解决办法
2万
查看次数

使用PyYAML库解析AWS CloudFormation模板

我正在使用需要在AWS CloudFormation YAML模板中读取的PyYAML库编写自定义Python应用程序。

我知道模板是有效的CloudFormation模板,因为我使用validate-template测试了它们:

? aws cloudformation validate-template --template-body file://cloudformation.yml
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用PyYAML库读取它们时,出现如下错误:

yaml.scanner.ScannerError:此处不允许映射值

无法确定标签“!Sub”的构造函数

和别的。

作为示例,我尝试以下AWS示例模板:

? curl -s \
    https://raw.githubusercontent.com/awslabs/aws-cloudformation-templates/master/aws/services/CloudFormation/FindInMap_Inside_Sub.yaml \
    -o FindInMap_Inside_Sub.yaml
Run Code Online (Sandbox Code Playgroud)

然后:

? python
Python 2.7.15 (default, Nov 27 2018, 21:40:55) 
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import yaml
>>> yaml.load(open('FindInMap_Inside_Sub.yaml'))
Run Code Online (Sandbox Code Playgroud)

这导致:

yaml.constructor.ConstructorError: could not determine a constructor for the tag '!FindInMap'
  in "FindInMap_Inside_Sub.yaml", line 89, column 45
Run Code Online (Sandbox Code Playgroud)

如何使用PyYAML之类的库解析CloudFormation YAML文件?

yaml amazon-web-services pyyaml aws-cloudformation

3
推荐指数
2
解决办法
3317
查看次数