Я использую Pynput для создания программы, которая, в общем, будет что-то делать, пока нажата клавиша.
Проведя некоторое исследование Pynput, я обнаружил, что нет никакого способа и, похоже, не существует запланированного способа что-то сделать, пока нажата клавиша, поэтому я разрабатываю свой способ обойти это. .
Мой план состоит в том, чтобы запустить одновременно два сценария Python, которые имеют постоянно обновляемую переменную, связанную между собой. Это связано с тем, что циклы while останавливают прослушиватели Pynput при использовании в одной программе. Один из этих сценариев будет прослушивать клавиатуру и соответствующим образом обновлять переменную, а другой будет фактически выполнять результат.
Единственная проблема заключается в том, что я понятия не имею, как активно связать переменную между двумя работающими сценариев, и ничто в inte rnet не дало мне представления о том, как это сделать (я пытался импортировать другие сценарии и другие вещи, но не только это было сложно, потому что я использую Ma c, но это не переменная активно не передается).
В настоящее время мой код выглядит примерно так:
(скрипт слушателя)
from pynput import keyboard
doThing = 0
def on_press(key):
doThing = 1
def on_release(key):
doThing = 0
def startListener():
listener = keyboard.Listener(
on_press=on_press,
on_release=on_release)
listener.join()
(скрипт, который что-то делает)
while True:
if doThing == 1:
print('Thing')
Переменная, которую я хочу связать между ними, будет doThing, но, опять же, я не знаю, как на самом деле установить переменную таким образом. Я думал об использовании JSON, но я не знаю, является ли это лучшим способом сделать это.
Спасибо!