我正在树莓派上做一个调平系统,但它说文件不存在



使用的代码:

@client.event
async def on_member_join(member):
with open('users.json', 'r') as f:
users = json.load(f)
await update_data(users, member)
with open('users.json', 'w') as f:
json.dump(users, f)

@client.event
async def on_message(message):
if message.author.bot == False:
with open('users.json', 'r') as f:
users = json.load(f)
await update_data(users, message.author)
await add_experience(users, message.author, 5)
await level_up(users, message.author, message)
with open('users.json', 'w') as f:
json.dump(users, f)
await client.process_commands(message)

async def update_data(users, user):
if not f'{user.id}' in users:
users[f'{user.id}'] = {}
users[f'{user.id}']['experience'] = 0
users[f'{user.id}']['level'] = 1

async def add_experience(users, user, exp):
users[f'{user.id}']['experience'] += exp

async def level_up(users, user, message):
with open('levels.json', 'r') as g:
levels = json.load(g)
experience = users[f'{user.id}']['experience']
lvl_start = users[f'{user.id}']['level']
lvl_end = int(experience ** (1 / 4))
if lvl_start < lvl_end:
await message.channel.send(f'{user.mention} has leveled up to level {lvl_end}')
users[f'{user.id}']['level'] = lvl_end
@client.command()
async def level(ctx, member: discord.Member = None):
if not member:
id = ctx.message.author.id
with open('users.json', 'r') as f:
users = json.load(f)
lvl = users[str(id)]['level']
await ctx.send(f'You are at level {lvl}!')
else:
id = member.id
with open('users.json', 'r') as f:
users = json.load(f)
lvl = users[str(id)]['level']
await ctx.send(f'{member} is at level {lvl}!')

我得到的错误:FileNotFoundError:[Erno 2]没有这样的文件或目录:'users.json'

我在树莓派上做这件事,我不知道如何引导文件顺便说一句,这个代码是为我制作的水准测量系统编写的我试着用以下行来引导它:os.chdir(r''(但不起作用

路径:/home/pi/Desktop/BotBot是一个地图

您需要的代码是:

import os
path = os.path.join(os.path.expanduser('~'), 'Desktop', 'Bot', 'users.json')
path1 = os.path.join(os.path.expanduser('~'), 'Desktop', 'Bot', 'levels.json')

和打开文件:

with open(path, 'r')as g:

最新更新