简体   繁体   English

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

[英]How to stop a program when a key is pressed in python?

I have a program that is an endless loop that prints "program running" every 5 seconds and I want to stop it when I press the end key. 我有一个程序,它是一个无限循环,每5秒打印一次“程序正在运行”,我想在按结束键时停止它。

So I created a key listener that returns false if the end key is pressed. 因此,我创建了一个按键侦听器,如果按下结束键,该侦听器将返回false。 That should work if I won't have the endless loop. 如果我没有无尽的循环,那应该可以工作。 And I want it to work even when I'm in the endless loop. 而且我希望它即使在无尽的循环中也能正常工作。

Here's my code: 这是我的代码:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM