在 Python 中按 esc 停止,按任何其他键继续

CoX*_*ier 3 python keyboard

现在在 的帮助下raw_input,我可以在每次用户按下时调用一个方法Enter

if __name__ == '__main__':
    while True:
        raw_input("Press Enter to continue...")
        _start()
def _start():
     print("HelloWorld")
Run Code Online (Sandbox Code Playgroud)

有一个问题,因为只有Ctrl + C,程序才能停止。如您所见,我让我的程序等待用户按键。

opencv,我发现有类似的需求。

# Hit 'q' on the keyboard to quit!
if cv2.waitKey(1) & 0xFF == ord('q'):
    break
Run Code Online (Sandbox Code Playgroud)

只是我想按 esc 键退出程序并按任何其他键继续。那么有没有办法做到这一点?

此外

我的操作系统是 OSX。

obg*_*naw 5

你可以使用pynput,它更容易使用。

from pynput import keyboard

def _start():
     print("HelloWorld")
def on_press(key):
    if key == keyboard.Key.esc:
        # Stop listener
        return False
    else:
        _start()

# Collect events until released
with keyboard.Listener(
        on_press=on_press) as listener:
    listener.join()
Run Code Online (Sandbox Code Playgroud)