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

如何让Python 3等待任意键盘输入后继续程序运行

Python 实现「按下任意键继续」的解决方案

内置的input("Press Enter to continue")只能识别回车键,无法满足任意按键触发的需求,你可以根据运行环境选择以下方案:

1. Windows 系统原生方案(无额外依赖)

直接调用Windows专属的msvcrt模块实现:

import msvcrt

print("按任意键继续...")
# 等待任意按键输入,不会显示输入的字符
msvcrt.getch()

# 可选:过滤方向键、功能键等特殊按键的二次触发
# while msvcrt.kbhit():
#     msvcrt.getch()

特点:无需安装第三方库,仅适配Windows环境,按键触发无延迟。

2. 类Unix系统(Linux/macOS)原生方案(无额外依赖)

通过系统自带的termios、tty模块修改终端属性实现:

import sys
import tty
import termios

def wait_for_any_key():
    print("按任意键继续...")
    fd = sys.stdin.fileno()
    # 保存终端原配置
    old_terminal_setting = termios.tcgetattr(fd)
    try:
        # 把终端设置为原始模式,直接读取单个字符不需要回车
        tty.setraw(fd)
        # 读取1个字符就返回
        sys.stdin.read(1)
    finally:
        # 恢复终端原配置,避免后续终端输入异常
        termios.tcsetattr(fd, termios.TCSADRAIN, old_terminal_setting)

# 调用函数即可
wait_for_any_key()

特点:无需安装第三方库,仅适配Linux、macOS等类Unix环境,执行完成后会自动恢复终端默认配置,不会影响后续使用。

3. 跨平台通用方案(适配所有操作系统)

如果需要一套代码同时在多个系统运行,可以用第三方库实现,推荐使用getch库:

  • 首先执行安装命令:pip install getch
  • 示例代码:
import getch

print("按任意键继续...")
getch.getch()

特点:代码简洁,兼容全平台,不需要根据操作系统做判断。如果需要捕获特殊按键,可以调用getch.getche(),该方法会把按下的字符回显到终端上。

注意:部分第三方按键库在Linux/macOS环境下运行可能需要root权限,遇到权限问题可以切换到对应系统的原生方案使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:45:04