【发布时间】:2014-03-12 23:43:03
【问题描述】:
所以我试图利用msvcrt.getch() 在程序中的任何位置选择退出(不使用 KeyBoardInterrupt)。
我的代码目前如下所示:
导入 msvcrt 导入系统
print("随时按q退出")
while True:
pressedKey = msvcrt.getch()
if pressedKey == 'q':
sys.exit()
else:
# do some setup
if myvar == "string":
try:
# do stuff
except:
# do stuff
else:
#do stuff
如何在运行另一个(# do stuff 块)的同时运行 while 循环来检测 q 的按键?
这样,如果用户继续执行程序,他们只会运行一次。但是如果他们点击q,那么程序就会退出。
【问题讨论】:
-
msvcrt.getch()会在没有按键被按下时阻塞。正如我在answer 中提到的那样,使用msvcrt.kbhit()来解决您的另一个问题——它不会阻塞。
标签: python multithreading python-2.7