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

How to check if the user pressed a key in Python without using getch()?

我想在用户按下特定键时中断循环并在循环后继续执行。当 stdin 可用时,以下代码应该可以工作。

While True:
    # Do stuff here.
    if msvcrt.kbhit():
        key = msvcrt.getch()
        if key == somekey:
            break

我的问题是标准输入在我用于开发的 PyScripter IDE 调试器中不可用。还有另一种绕过标准输入的方法吗?如有必要,解决方案可以是 Windows 具体的。

P.S。我在 Windows 7 上使用 Python 2.7,PyScripter 使用 'Remote' 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