我是否正确访问和写入此JSON文件?

时间:2019-06-18 05:52:28

标签: python json discord.py discord.py-rewrite

开始尝试使用discord.py的重写分支将信息保存到JSON文件。

我发出了一条命令来读取文件并使用此代码保存到文件中

@client.command()
async def sejoin(ctx, accType):
    with open('scores.json', 'r') as f:
        users = json.load(f)

    await update_data(users, ctx.author, accType)

    with open('scores.json', 'w') as f:
        json.dump(users, f, indent=2)


async def update_data(users, user, accType):
    if user.id in users:
        print(f"User {user} tried to join twice.")
        return
    if user.id not in users:
        users[user.id] = {}
        users[user.id]['name'] = user.name
        users[user.id]['score'] = 0
        users[user.id]['hastask'] = False
        users[user.id]['completed'] = 0
        users[user.id]['type'] = accType

它在技术上是可行的,但是如果我第二次输入命令,它仍然会第二次写入。

第3次没有任何反应。我尝试了几种不同的方法来检查用户ID是否在文件中,但得到的结果相同。

编辑:将数据两次添加到文件后,将忽略打印语句。

0 个答案:

没有答案