【发布时间】:2021-10-28 08:01:02
【问题描述】:
我知道可能已经有答案了,但是从我查找 python 的内容来看,我真的找不到关于如何停止 pynput 侦听器的非常直接的答案。
from pynput.keyboard import Key, Listener
from threading import Thread
stopThreads = True
def on_press(key):
if keyboard.is_pressed("a"):
print("pressed a")
def starting():
global stopThreads
while True:
if stopThreads == True:
with Listener(on_press=on_press) as listener:
if listener.is_alive():
pass
else:
listener.join()
elif stopThreads == False:
listener.stop()
t = Thread(target=starting)
t.start()
time.sleep(5)
print("stop")
stopThreads = False
我不确定这对你们来说是什么,但看起来它工作得很好,但实际上如果我按下“a”它甚至不会注册,所以我有点困惑如何停止 pynput 监听器如果 a变量为 False 以及如何将其保持在后台线程中
【问题讨论】:
标签: python multithreading pynput