【发布时间】:2021-05-17 16:00:41
【问题描述】:
我试图在按下一个键时循环打印并在按下另一个键时停止。
另外我不想退出程序,它必须继续监听一个键。
问题:但我得到的是一个无限循环,因为它无法在循环为 True 时监听另一个键!
from pynput import keyboard
def on_press(key):
if key == keyboard.Key.f9:
while True:
print("loading")
if key == keyboard.Key.f10:
# Stop listener
return False
# Collect events until released
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
编辑
我确实解释错了一部分,我想在按下某个键WAS时循环。
【问题讨论】:
-
不要使用
while True,因为它会阻止Listener。您必须在分开的Thread中运行while,它需要一些变量来停止它 - 即。while running而不是while True。而且你必须使用on_release来设置running = False
标签: python loops while-loop keyboard pynput