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

如何在VS Code中运行程序并使用文本文件作为输入(等效于myprogram.exe < inputfile.txt)

VS Code Python调试从文件读取输入的解决方案

错误原因说明

你之前的配置无法生效是因为:args字段的作用是传递给Python程序的命令行参数,而<是Shell提供的输入重定向语法,不属于程序参数,调试器默认不会将其解析为重定向操作。

可行解决方法

方法1:使用Python调试扩展原生支持的stdin配置(推荐)

新版VS Code Python扩展使用的debugpy调试后端已经原生支持输入重定向配置,你只需要在launch.json的对应配置项中添加"stdin"字段指定输入文件路径即可,完整配置示例如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File with File Input",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}",
            "stdin": "${workspaceFolder}/testcase.txt"
        }
    ]
}

这个方案无需修改代码,启动调试后会自动将指定文件的内容作为标准输入传给程序。

方法2:代码内临时重定向标准输入(兼容性最好)

如果你的Python扩展版本较低不支持stdin配置项,可以直接在代码开头添加临时重定向逻辑,调试完成后注释掉即可:

import sys
# 调试时开启,正式运行时注释
sys.stdin = open("testcase.txt", "r", encoding="utf-8")

该方法不依赖编辑器配置,所有环境都通用。

注意事项

  • 配置路径时建议使用${workspaceFolder}变量指代项目根目录,避免相对路径出错
  • 确保输入文件的编码和你代码中使用的读取编码一致,避免出现乱码或读取失败问题
  • 如果路径包含空格,不需要额外加引号,VS Code会自动处理路径空格问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:42:03