首页 > 解决方案 > 线程代码由于某种原因没有给出输出(pynput)

问题描述

我正在从这个响应中测试这段代码 但是我的输出中什么也没得到!有谁知道为什么?我的目标是在按下键时开始循环,并在释放键时结束。出于某种原因,我无法让它工作。

from pynput.keyboard import Listener, KeyCode
import time

# --- functions ---

def get_pressed(event):
    global key_a # inform function to use external/global variable instead of local one

    if event == KeyCode.from_char('a'):
        key_a = True

def get_released(event):
    global key_a

    if event == KeyCode.from_char('a'):
        key_a = False

# --- main --

key_a = False  # default value at start 

listener = Listener(on_press=get_pressed, on_release=get_released)
listener.start() # start thread with listener

while True:

    if key_a:
        print('hold pressed: a')

    time.sleep(.1)  # slow down loop to use less CPU

listener.stop() # stop thread with listener
listener.join() # wait till thread ends work

标签: pythonpython-multithreadingpynputkeyboard-python

解决方案


推荐阅读