【发布时间】:2021-05-24 09:06:58
【问题描述】:
async def open_account(user):
users = await get_bank_data()
if (user.id) in users:
return False
else:
users[str(user.id)] = {}
users[str(user.id)]["wallet"] = 1000
users[str(user.id)]["bank"] = 0
with open("mainbank.json", "w") as f:
json.dump(users,f)
return True
完整的错误是:
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 902, in invoke
await ctx.command.invoke(ctx)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 864, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'str' object has no attribute 'read'
【问题讨论】:
-
哪一行引发了这个错误?
get_bank_data是做什么的? -
用户[str(user.id)] = {} 用户[str(user.id)]["wallet"] = 1000 个用户[str(user.id)]["bank"] = 0 这些并注意银行数据youtube.com/watch?v=HPaadO_sRD4&t=129s
-
为什么会引发这个错误?
users是什么?看起来它的行为应该像dict,不会引发这种异常 -
您能否包含引发此错误所需的确切代码?我不确定提供的堆栈跟踪是否完整,代码也不完整。请提供MCVE
标签: python string discord discord.py attributeerror