python - 尽管定义了变量,但出现名称未定义错误
问题描述
我已经定义了一个变量,但是无论我使用变量将代码放置在何处或将变量定义代码放置在何处,我都会收到“名称未定义”错误。
在这种情况下,定义代码如下:
def get_prefix(client, message):
with open('prefixes.json', 'r') as f:
prefixes = json.load(f)
return prefixes[str(message.guild.id)]
引发错误的行是:
client = commands.Bot(command_prefix = get_prefix)
如果我使用以下代码作为示例:
client = commands.Bot(command_prefix = '$')
然后我没有错误,但这不是很动态,也不是我想要的。
不管这些代码块放在哪里,都会抛出相同的错误,我不明白问题到底是什么。
解决方案
我设法通过
from cogs.Prefixes import get_prefix
在我的主文件中运行来解决这个问题。
推荐阅读
- java - 如何使用 Spring Boot WebClient 按名称获取选择的 JSON 字段?
- python - 如何迭代字符串?
- python - 为什么在 python f-strings 中使用双花括号而不是反斜杠?
- c - 表达式必须是指向完整对象类型的指针,为什么在这种情况下会出现此错误?
- spring-cloud-sleuth - 在 Zipkin 中找不到可导出的 Zipkin/Brave/Spring-Cloud-Sleuth Span
- angular - Angular 9 到 10 升级 - Typescript 编译警告:*.ngtypecheck.ts
- r - 使用非“选择”(土地覆盖)数据实施 mlogit
- amazon-web-services - 一个 lambda 的 InvalidChiperException,但不是另一个
- atom-editor - 为什么我的部分语法在 Atom 中仍然是灰色的(使用 One Dark 主题)?
- regex - 从较长的字符串中提取字符串 | 红宝石