小编bch*_*rfi的帖子

解析 yaml 文件时出错:找到无法启动任何标记的字符“%”

我试图从具有一些类似于 jinaj2 模板语法的表达式的 yaml 文件中解析数据,目标是删除或添加一些项目到文件中。

添加代码列表.yaml

AddCodesList:
  body:
    list:
    {% for elt in customer %}
      - code: {{ elt.code }}
        name: {{ elt.name }}
        country: {{ elt.country }}
    {% endfor %}   
  result:
    json:
      responseCode: {{ responseCode }}
      responseMsg: {{ responseMsg }}
      responseData: {{ responseData }}
Run Code Online (Sandbox Code Playgroud)

解析文件

import ruamel.yaml
from ruamel.yaml.util import load_yaml_guess_indent

data,indent,block_seq_indent=load_yaml_guess_indent(open('AddCodesList.yaml'), preserve_quotes=True)

#delete item
del data['body']['list']['code']
#add new item
data['parameters'].insert(2, 'ssl_password','xxxxxx')#create new file
ruamel.yaml.round_trip_dump(data, open('missingCode.yaml', 'w'), explicit_start=True)
Run Code Online (Sandbox Code Playgroud)

执行 parseFile.py 脚本时出现以下错误:

    Traceback (most recent call last):
      File "d:/workspace/TEST/manageItem.py", line …
Run Code Online (Sandbox Code Playgroud)

yaml ruamel.yaml

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

标签 统计

ruamel.yaml ×1

yaml ×1