所以我试图利用msvcrt.getch()
在程序中的任何位置选择退出(不使用KeyBoardInterrupt)。Python事件循环 - 多线程 - 如何同时运行两位代码?
我的代码目前看起来是这样的:
进口MSVCRT 进口SYS
打印
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
如何运行while循环( “在任何时候退出按q”)在我运行其他(# do stuff
块)的同时检测到q的按键?
这样,如果用户继续使用该程序,他们只会运行一次。但如果他们击中q,那么程序将退出。
如果没有键被按下,'msvcrt.getch()'会被阻塞。在我的[answer](http://stackoverflow.com/a/22366085/355230)中提到你的另一个问题时使用'msvcrt.kbhit()' - 它不会阻止。 – martineau