我正在尝试创建一个更新 json 文件中的值的命令,但是发生的情况是整个 json 文件被删除,期望一个配置文件甚至不是目标配置文件。
杰森布局:
{"name": "name 1", "trainings": 0, "trainings needed": 10}, {"name": "name 2", "trainings": 0, "trainings needed": 10}, //ect
预期输出:
{"name": "name 1", "trainings": 1, "trainings needed": 10}, {"name": "name 2", "trainings": 0, "trainings needed": 10}, //ect
实际输出:
{“名称”:“名称 6”,“培训”:0,“需要培训”:10}
代码片段:
@bot.command()
async def add(ctx, a:str):
a = a.replace("<","")
a = a.replace(">","")
a = a.replace("!","")
a = a.replace("@","")
member = await bot.fetch_user(a)
print(member.name)
with open('json_file.json', "r") as f:
data = json.load(f)
for i in data:
if i['name'] == member.name:
i['trainings'] = 1
with open("json_file.json", "w") as jsonFile:
json.dump(i, jsonFile)