【发布时间】:2019-06-12 03:41:24
【问题描述】:
在我当前的命令中,我从一个名为 users.json 的单个 json 文件获取排行榜,该文件存储来自多个用户的多个 XP:
@bot.command(pass_context=True)
async def top(ctx):
with open('profile/users.json', 'r') as fp:
users = json.load(fp)
lb = [(member, users[member.id].get('xp')) for member in ctx.message.server.members if member.id in users]
lb.sort(key=lambda x: x[1], reverse=True)
但是,我更改了命令,并让每个人将他们的 XP 存储在单独的 json 文件中:
曾经的 'profile/users.json' 变成了几个 'profile/{}.json'.format(ctx.message.author.id)
现在在 profile 文件夹中,每个用户都有几个 json 文件,以及他们各自的 xp,而不是单个 json 文件。
我想要一种使用我的代码一次使用多个 json 文件而不是一个文件来创建排行榜的方法,我该怎么办?
请完整答案,如果您需要更多数据,请告诉我,我将编辑问题
【问题讨论】:
标签: python json discord discord.py leaderboard