我已經(jīng)嘗試讓這段代碼正常工作一段時間了;@bot.group()async def donator(ctx): '''Commands for donators'''@donator.command()async def register(ctx, Steam_ID : str): '''Registers your donator status''' if SteamID(Steam_ID).is_valid(): convert = SteamID(Steam_ID) Steam64ID = convert.as_64 author = ctx.author with open('donators.json') as d: data = json.load(d) newstring = { f"{author.id}": { "steam": f"{Steam64ID}", "tier": "6" } } data.update(newstring) with open('donators.json', 'w') as d: json.dump(data, d, indent=2) else: ctx.send("Invalid Steam ID!\nThis command accepts any kind of Steam ID.")當(dāng)我運行它時,它將產(chǎn)生我想要的結(jié)果,寫入一個包含正確信息的有效 json 文件,沒有錯誤。如果我再次運行它,什么也不會發(fā)生,絕對什么也不會發(fā)生。這就是 json 最初的結(jié)構(gòu)。{ "000000000000000000": { "steam": "00000000000000000", "tier": "0" }}運行 python 腳本后,它看起來像這樣{ "000000000000000000": { "steam": "00000000000000000", "tier": "0" }, "240912491624923137": { "steam": "76561197960265729", "tier": "6" }}如果我第二次運行它,什么也不會發(fā)生。沒有寫入任何內(nèi)容,json 文件保持不變并且沒有錯誤。
1 回答

九州編程
TA貢獻(xiàn)1785條經(jīng)驗 獲得超4個贊
您應(yīng)該將 JSON 文件構(gòu)造為字典列表。
{"data": [{"id": 0, "name": "Hello"}, {"id": 1, "name": "Test"}]}
添加回答
舉報
0/150
提交
取消