当用户使用ctrl + c退出程序时,KeyboardInterrupt异常被抛出。您需要使用另一种方法来检测按键。This answer似乎有一个很好的跨平台类来检查stdin。在
编辑:我上面链接的答案需要用户按enter键,这样如果你在另一个线程中运行它就可以了。在
以下方法适用于任何按键,但仅适用于Windows。在import msvcrt
# Time
import time
import sys
timeLoop = True
# Variables to keep track and display
Sec = 0
Min = 0
Hour = 0
# Begin Process
while True:
try:
Sec += 1
print(str(Hour) + " Hrs " + str(Min) + " Mins " + str(Sec) + " Sec ")
time.sleep(1)
if Sec == 60:
Sec = 0
Min += 1
print(str(Min) + " Minute")
if Min == 60:
Sec = 0
Min = 0
Hour += 1
print(str(Hour) + " Hours")
if msvcrt.kbhit():
break
except KeyboardInterrupt:
break