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()
添加回答
舉報