如何检查用户是否在不使用getch()的情况下按了Python中的键?

如何检查用户是否在不使用getch()的情况下按了Python中的键?,python,debugging,pyscripter,Python,Debugging,Pyscripter,如果用户按下一个特定的键并在循环后继续执行,我想中断一个循环。当stdin可用时,以下代码应起作用 While True: # Do stuff here. if msvcrt.kbhit(): key = msvcrt.getch() if key == somekey: break 我的问题是,stdin在我用于开发的PyScripterIDE调试器中不可用。有没有其他方法可以绕过标准输入法?如有必要,解决方案可以是特

如果用户按下一个特定的键并在循环后继续执行,我想中断一个循环。当stdin可用时,以下代码应起作用

While True:
    # Do stuff here.
    if msvcrt.kbhit():
        key = msvcrt.getch()
        if key == somekey:
            break
我的问题是,stdin在我用于开发的PyScripterIDE调试器中不可用。有没有其他方法可以绕过标准输入法?如有必要,解决方案可以是特定于Windows的

另外,我在Windows7上使用Python2.7,PyScripter使用“远程”Python引擎(不管这意味着什么)


p.p.S.我根据下面dbliss的反馈重新编写了这个问题。

在Windows中,以下代码应该可以完成此任务:

import win32api
import win32con

print "Doing stuff; press F12 to interrupt."
While True:
    # Do stuff here.
    if win32api.GetAsyncKeyState(win32con.VK_F12) != 0:
        break

“在Python调试器中”是什么意思?您在代码中使用的是
pdb
模块吗?@dbliss我使用的是PyScripter,它似乎没有在引擎盖下使用pdb模块。问题似乎是PyScripter调试器正在拦截stdin。我把问题重新写了一遍,让它更清楚。。