gpt4 book ai didi

python - 在 python 中通过按键调用函数的最简单方法(3)

转载 作者:行者123 更新时间:2023-12-01 05:39:56 27 4
gpt4 key购买 nike

我有一个 python 应用程序,其中一个函数在递归循环中运行,并在循环的每个循环中将更新的信息打印到终端,一切都很好,直到我尝试停止此递归。

它不会停止,直到终端窗口关闭或应用程序被终止(按下control-c),但是我对该方法不满意。

我有一个函数可以停止循环并退出程序,但它永远没有机会在循环中被调用,所以我希望将它分配给一个键,以便当按下它时它会被调用。

将一项功能分配给一个或多个按键的最简单方法是什么?

最佳答案

您可以拦截ctrl+c信号并在那时调用您自己的函数,而不是退出。

import signal
import sys

def exit_func(signal, frame):
'''Exit function to be called when the user presses ctrl+c.
Replace this with whatever you want to do to break out of the loop.
'''
print("Exiting")
sys.exit(0) # remove this if you do not want to exit here

# register your exit function to handle the ctrl+c signal
signal.signal(signal.SIGINT, exit_func)

#loop forever
while True:
...

您应该将 sys.exit(0) 替换为对您更有用的内容。您可以在循环体外部(或只是 finally)引发异常并在其上引发异常,以执行清理操作。

关于python - 在 python 中通过按键调用函数的最简单方法(3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17862520/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com