gpt4 book ai didi

python - 使用 SIGINT 终止 Python 3 中的函数

转载 作者:行者123 更新时间:2023-11-30 22:47:42 24 4
gpt4 key购买 nike

以下代码为例:

import signal
import time

def stop(signal, frame):
print("You pressed ctrl-c")
# stop counter()

def counter():
for i in range(20):
print(i+1)
time.sleep(0.2)

signal.signal(signal.SIGINT, stop)
while True:
if(input("Do you want to count? ")=="yes"):
counter()

如何让 stop() 函数终止或中断 counter() 函数,使其返回到提示符?

输出示例:

Do you want to count? no
Do you want to count? yes
1
2
3
4
5
6
7
You pressed ctrl-c
Do you want to count?

我使用的是 Python 3.5.2。

最佳答案

您可以使用 KeyboardInterrupt 异常,而不是定义自己的 SIGINT 处理程序:

while input("Do you want to count? ").strip().casefold() == "yes":
try:
counter()
except KeyboardInterrupt:
print("You pressed ctrl-c")

关于python - 使用 SIGINT 终止 Python 3 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40438261/

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