1 回答

TA贡献1831条经验 获得超4个赞
错误来自quest['quests']
. 您的数据是一个字典,其中一个条目名为quests
:
for quest in data: print(quest) # will just print "quests"
要正确迭代您的 yaml,您需要:
获取任务字典,使用
data["quests"]
对于 quests 字典中的每个条目,使用条目键作为文件名并转储文件中的条目值。
这是您的脚本的修补版本:
def splitfile():
try:
with open(input, "r") as stream:
data = yaml.load(stream)
quests = data['quests'] # get the quests dictionary
for name, quest in quests.items():
# .items() returns (key, value),
# here name and quest attributes
outfile = open("Quests/quests/" + name + ".yml", "x")
yaml.dump(quest, outfile)
except yaml.YAMLError as out:
print(out)
splitfile()
添加回答
举报