当我按“p”时,它会触发以“p”开头的输入:
import keyboard
def print_your_name():
x = input("Enter Your Name: ")
print(x)
keyboard.add_hotkey('p', print_your_name)
keyboard.wait("esc")
输出:
Enter Your Name:p
有什么方法可以向用户发送干净的输入吗?
如果我可以做些什么来改进这个答案,请告诉我。
我建议不要尝试完全向用户发送干净的输入,而是通过创建虚拟按键来简单地使 p 消失。例如,使用键盘模块中包含的 press() 函数:
import keyboard
def print_your_name():
keyboard.press('backspace') #this gets rid of the p
x = input("Enter Your Name: ")
print(x)
keyboard.add_hotkey('p', print_your_name)
keyboard.wait("esc")
顺便说一句,按键是立即发生的,因此当程序运行时用户根本看不到 p。在这里,我决定使用键盘模块,因为您已经使用它来检测按键,但是您还可以使用其他模块,例如 pyautogui 或 pynput,尽管我认为在这种情况下没有必要。我希望这能回答您的问题。