Вы уверены, что получаете ошибку двойного ключа?Поскольку с вводом, который вы представляете, вы получите отображаемые значения, здесь не допускается ошибка:
import sys
import ruamel.yaml
yaml_str = """\
Get_Request
alias : 'amway1'
session_url : 'url2'
Post_Request
alias : 'amway2'
session_url : 'url2'
"""
yaml = ruamel.yaml.YAML()
try:
data = yaml.load(yaml_str)
except Exception as e:
print(e)
, которая дает:
mapping values are not allowed here
in "<unicode string>", line 2, column 9:
alias : 'amway1'
^ (line: 2)
Это потому, что вы пытаетесь использовать несколькопрямая скалярная линия в качестве ключа в начале этого YAML, и они недопустимы (они должны быть простыми, а не многострочными).Вы, вероятно, забыли вставить двоеточие (:
) после Get_Request
и Post_Request
.
Get_Request:
alias : 'amway1'
session_url : 'url2'
Post_Request:
alias : 'amway2'
session_url : 'url2'
(Вы также должны последовательно сдвигать свой YAML с тем же количеством пробелов перед ключами,теперь у вас есть позиции 2 и 4. Это не обязательно для создания действительного YAML, и синтаксический анализатор примет его, но он должен правильно видеть структуру, когда люди проверяют ваш ввод).