【发布时间】:2021-05-25 19:50:39
【问题描述】:
我有这个警告命令,我试图让它显示用户的警告,我尝试发出命令,每当我尝试启动我的机器人时,它都会显示"data is not defined"
这是我的代码:
@bot.command()
async def test(ctx, user:discord.Member):
with open("warns.json", "r") as f:
data = json.load(f)
user_data = data[str(user.id)]
print(f"Total warnings: {len(user_data)}")
for warn in user_data:
warn_id, mod, reason, time = warn.values()
print(f"ID: {warn_id}, mod: {mod}, reason: {reason}")
【问题讨论】:
-
使用上下文管理器后,您的所有代码都在函数之外
-
@12944qwerty 对于
open()函数,文件的内容,无论如何读取,都可以在上下文管理器之外引用。所以data可以在with子句之外被引用,但它仍然必须在async def test()函数体内被引用。 -
@JacobLee 我知道,这就是我的意思。抱歉,如果不清楚。
标签: discord.py