С keyboard
модулем можно сделать больше вещей .
Вот некоторые из методов:
Способ №1:
Используя функцию read_key()
:
import keyboard
while True:
if keyboard.read_key() == "p":
print("You pressed p")
break
Это приведет к разрыву цикла при нажатии pклавиши.
Способ №2:
Использование функции wait
:
import keyboard
keyboard.wait("p")
print("You pressed p")
Он будет ждать, пока вы нажмете, pи продолжит вводить код по мере его нажатия.
Способ №3:
Используя функцию on_press_key
:
import keyboard
keyboard.on_press_key("p", lambda _:print("You pressed p"))
Ему нужна функция обратного вызова. Я использовал, _
потому что функция клавиатуры возвращает этой функции событие клавиатуры.
После выполнения он запустит функцию при нажатии клавиши. Вы можете остановить все перехватчики, запустив эту строку:
keyboard.unhook_all()
Метод №4:
На этот метод уже ответил user8167727, но я не согласен с кодом, который они сделали. Он будет использовать функцию, is_pressed
но по-другому:
import keyboard
while True:
if keyboard.is_pressed("p"):
print("You pressed p")
break
При pнажатии он разрывает петлю .
Ноты:
keyboard
будет читать нажатия клавиш со всей ОС.
keyboard
требует рут в Linux