在大约5年没有使用Python之后,我决定重新使用Python。我从NodeJS开始用Python重新编码我的Discord机器人,它做得很好,但后来我开始得到这个奇怪的bug。你知道吗
我的问题很简单。我有两个文件:__main__.py
和commander.py
main.py
from core.utility import parser, discord
from core.admin import commander
def ping(arguments, flags, options):
print("PONG")
commander.addCommand("ping", "A ping pong request.", None, None, ping)
print('a')
你知道吗指挥官.py你知道吗
list = []
def addCommand(name, description, usage, permissions, callback):
command = {}
command["name"] = name
command["description"] = description
command["usage"] = usage
command["permissions"] = permissions
command["callback"] = callback
print("Command added: ", name)
list.append(command)
当我在__main__.py
内部调用commander.addCommand
时,print station不会打印。我还注意到print('a')
也没有打印,这使我相信应用程序正在被我正在使用的Discord库this阻塞。你知道吗
还注意到,当我按ctrl+c停止Putty中的进程时,commander.addCommand
中的print语句实际上是打印的,所以我几乎可以肯定应用程序被阻塞了,但我不知道如何以异步方式运行它。你知道吗
对我如何实现目标有什么建议吗?你知道吗
这真的应该是一个评论,但我还不能这样做。你在
commander.py
中的缩进是否正确?def addCommand(...)
之后的所有内容都应该缩进。除非你的问题写错了。你知道吗编辑:我无法重现这个错误。它在我的机器上运行得很好。与其从自己的文件中导入discord,为什么不从pip中获取它呢?这可能是你的剧本和我的唯一不同。你知道吗
我相信问题出在油灰上。您的代码实际上根本不调用
discord
。您的标准输出缓冲区可能没有被刷新。试试这两种方法中的一种。你知道吗在python中使用
-u
参数在打印语句后添加刷新
相关问题 更多 >
编程相关推荐