VS Code运行Python时无法解析多行input语句 启用Code Runner无效
问题根因
该异常是Code Runner插件的默认运行逻辑导致的:Code Runner默认将代码运行环境挂载在VS Code的输出面板(Output Panel),这个面板本身不支持交互式逐行输入,单条input可正常触发提示属于插件做的特殊兼容,遇到连续多条input语句时,插件会把后续的代码行误识别为用户输入的内容,就会出现把b = input("b: ")直接当成a的输入值、提前结束运行的问题。
排查解决方案
方案1:修改Code Runner配置,切换运行环境到集成终端(推荐,一次配置永久生效)
操作步骤:
- 打开VS Code设置页:Windows/Linux系统按快捷键
Ctrl + ,,Mac系统按快捷键Cmd + , - 在设置页顶部的搜索框输入
code runner run in terminal,找到对应配置项 - 勾选
Code-runner: Run In Terminal前的复选框,将代码运行目标从输出面板切换为VS Code内置的集成终端 - 重启VS Code后重新运行测试代码,即可正常逐行响应多条input输入请求
如果习惯直接编辑配置文件,也可以打开settings.json文件,手动添加如下配置项:
"code-runner.runInTerminal": true
方案2:替换运行工具,使用官方Python扩展运行代码
如果不想调整Code Runner配置,可以直接禁用或卸载Code Runner插件,安装微软官方发布的Python扩展,后续打开Python文件点击右上角的运行按钮,默认就会在集成终端启动代码,原生支持多轮input交互,不会出现识别异常。
方案3:临时手动运行
如果只是临时跑代码不想改配置,可以手动打开VS Code下方的终端面板,切换到当前Python文件所在的目录,直接执行原生Python命令运行代码:
python 你的代码文件名.py
这种方式走系统原生终端逻辑,不存在input识别问题。
内容的提问来源于stack exchange,提问作者Jibin
相关产品推荐
相关产品推荐

