python按什么键停止运行,按esc停止,并按其他任何键继续在Python中

这篇博客介绍了如何使用Python库pynput来监听键盘输入,特别是在需要用户交互的情况下,允许用户通过按特定键(如Esc键)退出程序,而按其他键继续执行。示例代码展示了如何创建一个无限循环,等待用户按下Enter键后调用_start()函数打印"Hello World",并通过监听键盘事件实现按Esc键退出程序的功能。这为在MacOS上运行的程序提供了一种友好的用户交互方式。
摘要由CSDN通过智能技术生成

Now with help of raw_input, I can call a method every time user presses Enter.

if __name__ == '__main__':

while True:

raw_input("Press Enter to continue...")

_start()

def _start():

print("HelloWorld")

There is a problem because only Ctrl + C, the program can be stopped. As you see, I make my program to wait user to press key.

From opencv, I find there is a similar need.

# Hit 'q' on the keyboard to quit!

if cv2.waitKey(1) & 0xFF == ord('q'):

break

Simply I want to press esc key to exit program and press any other key to continue. So there is any way to do like this?

In Addition

My os is OSX.

解决方案

you can use pynput,it's easier to use.

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()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值