我正在制作一个 Discord 机器人,其中包含许多需要一段时间才能完成的命令(例如循环),因此我还希望有一个命令可以停止任何正在运行的代码。我试过 sys.exit 但我不想每次都必须重新启动程序才能接受另一个输入。有人知道我能做什么吗?
答案 0 :(得分:1)
这取决于您的代码的格式化方式,但您可能希望使用使用布尔或 return 语句的函数:
def foo():
if end_this:
return
# stuff
如果您有一些设置为 end_this
的跟踪布尔值 True
,函数 foo()
将不会执行下面的所有内容。或者,您可以在代码中使用 while 循环:
def foo():
while True: # runs forever unless ended
# stuff
break
现在,foo()
将无限期地继续,直到到达 break 语句。 if 语句可以包含中断,在中断发生时设置一些逻辑。同样,这可能需要一个 main()
函数来处理之前函数的调用和结束,但它会允许执行以下代码/函数。