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

Python 3.7.9 input()函数特定场景下无法响应键盘输入问题

Python 3.7.9 input()函数特定场景异常问题

问题现象

在Python 3.7.9环境中,input()函数仅在特定条件下出现异常:

  • 键盘输入无法在屏幕显示,ENTER/RETURN键无法提交输入;
  • 偶尔提交成功时,输入内容会携带大量\r转义字符,导致用户无法正常退出交互式CLI,只能通过Ctrl+C终止程序。

程序架构

  • Program A:Shell包装器,负责触发数百个Shell脚本,主线程调用Program B监控脚本输出与日志;
  • Program B:Python交互式CLI UI,支持单键操作控制(如按'h'打开帮助菜单),通过subprocess.run()执行命令IFS= read -r -t -5 -n 1 -s key获取按键;
  • Program C:使用input()接收命令字符串的交互式CLI(例如输入save 1保存状态)。

测试情况

  • 以下场景下Program C运行正常:
    • 直接执行python3 programC.py;
    • 从Program B中调用运行;
    • 从Program A的审查模式(./programA -review /log/dir/5)中调用运行。
  • 仅在Program A的执行模式(执行并监控数百个Shell脚本)中通过Program B调用Program C时,input()出现挂起、不返回的问题。

额外信息

程序使用tput cmcup, rmcup, cvvis, civis, clear命令控制终端屏幕。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 00:25:55