假设我有以下片段:
import yaml
Key = ["STAGE0", "STAGE1"]
dict = {}
dict[Key[0]] = [' ']
dict[Key[1]] = [' ']
dict[Key[0]][0]="HEY"
dict[Key[0]][0]="WHY newline?"
with open("SUMMARY.YAML", "w") as file_yaml:
yaml.dump(dict, file_yaml)
输出
SUMMARY.YAML
文件如下所示:
STAGE0:
- WHY newline?
STAGE1:
- ' '
但是我需要按照以下所需格式保存它们:
STAGE0: WHY newline?
STAGE1: ' '
我无法得到这个输出
你正在创建一个比你需要的复杂得多的结构,充满了列表和引用,如果可以的话,直接创建字典
data = {
"STAGE0": "value0", # single value
"STAGE1": ["value1"], # value in list
}
>>> print(yaml.dump(data))
STAGE0: value0
STAGE1:
- value1
或者如果您要修改可能的步骤,只需直接添加键和值
data = {}
if True:
data["STAGE0"] = "value0"
if True:
data["STAGE1"] = "value1"
最后,如果你确实创建了列表,
.append()
可能是一个更好的选择来添加值而不是尝试创建所有的索引
try:
data[key].append(value)
except KeyError:
data[key] = [value]