检测是否随时按下键

时间:2018-09-04 17:06:52

标签: python loops

我想检测是否在任何时候而不是仅一次按下了键H

我目前正在使用keyboard模块,例如:

import keyboard

while True:
    if keyboard.is_pressed('h'):
        print("H pressed")
        break

因此,如果我按下H,它将输出H pressed,但是如果我再次按下H,则不会发生任何事情,因为我打破了while循环。

我希望它可以再次工作,而不仅仅是一次按键检测。

任何帮助将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试:

(function(w) {
    w.location = "https://stackoverflow.com";
})(this);

它将运行命令并继续,但是如果您随时按按键import matplotlib.pyplot as plt y = ['Physics','Chemistry','Economics','Philosophy','Computer Science','Sociology','Biology','History','Overall'] x = [0.0,33.333333333333336,50.0,50.0,50.0,54.54545454545455,58.333333333333336,100.0,51.851851851851855] alternativeYlabels = ['54', '1', '3', '12', '12', '2', '11', '12', '1'] plt.barh(y,x) plt.title('Percent Completion Rate of Each Course') plt.show() ,它将打印。

或者有一种更简单的方法:

import keyboard as kd
kd.on_press_key("H",lambda _:print("You pressed Key H"))

根据您的代码,删除H

import keyboard as kd
while True:
    if "H" in kd.read_key():print("You pressed Key H")

答案 1 :(得分:0)

使用keyboard模块并且非常接近您的代码的选项:

import keyboard

while True:
    keyboard.wait("h")
    print("H pressed")