You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决触发input()时输入框已被按键内容填充的问题?

解决input()自动填充触发按键的问题

当你用keyboard.is_pressed("K")触发input()时,按下的"K"会留在系统输入缓冲区中,导致input()执行时自动读取这个字符,出现输入框预填充的问题。

修复方案

用keyboard.read_key()替代is_pressed,它会读取并消耗掉按下的按键,避免字符残留到input()的输入缓冲区:

import keyboard

while True:
    pressed_key = keyboard.read_key()
    if pressed_key == "K":
        _input = input("> ")

另一种方案:清除输入缓冲区

如果坚持使用is_pressed,可以在触发input()前手动清除缓冲区里的残留字符:

import keyboard
import sys

while True:
    if keyboard.is_pressed("K"):
        # 读取并丢弃缓冲区中的K字符
        try:
            sys.stdin.read(1)
        except IOError:
            pass
        _input = input("> ")

为什么你的尝试无效

你之前的代码_input = ""; _input = input("> ")只是重新赋值变量,完全没处理输入缓冲区里的残留字符,因此无法解决问题。

内容的提问来源于stack exchange,提问作者NemGamingAkos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:09:53