python - 如何在 python 中按下一个键时停止程序?

标签 python python-2.7 pynput

我有一个无限循环的程序,每 5 秒打印一次“程序正在运行”,我想在按下结束键时停止它。

所以我创建了一个按键监听器,如果按下结束键,它会返回 false。如果我没有无限循环,那应该可以工作。我希望它即使在我处于无限循环中时也能正常工作。

这是我的代码:

from pynput import keyboard
import time
def on_press(key):
    print key
    if key == keyboard.Key.end:
        print 'end pressed'
        return False        
with keyboard.Listener(on_press=on_press) as listener:
    while True:
        print 'program running'
        time.sleep(5)
    listener.join()

最佳答案

from pynput import keyboard
import time

break_program = False
def on_press(key):
    global break_program
    print (key)
    if key == keyboard.Key.end:
        print ('end pressed')
        break_program = True
        return False

with keyboard.Listener(on_press=on_press) as listener:
    while break_program == False:
        print ('program running')
        time.sleep(5)
    listener.join()

关于python - 如何在 python 中按下一个键时停止程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49550355/

相关文章:

python - 循环可变次数时如何返回

python-3.x - Python 多线程与 pynput.keyboard.listener

python - 如何检测 pynput 中的按键/释放

opencv - 来自pynput的Mouse.position无法正常工作[python2,opencv,mac,jupyter]

python - 如何在python中删除数据框中数据列中的0

python - Python 中除空格外的正则表达式匹配

python - cv2.imshow() 在自定义函数中不起作用

python - 在 pandas 数据框的分组中获得唯一计数和最大值

python - 从列表创建多维 numpy 数组

python - 在 Pythonscript 中获取 Netcat 的输出