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

VSCode运行Python时input.txt输入重定向不生效如何配置?

错误原因

args字段的作用是传递参数给待运行的Python程序,而<属于shell的重定向运算符,不属于Python程序的入参。VSCode生成命令时会自动对args下的所有内容做转义处理,添加单引号避免特殊字符被shell解析,因此会出现重定向符失效的问题。

解决方案1:使用调试器原生输入重定向(推荐,支持调试)

直接修改launch.json配置,删除原有的args配置段,新增两个调试配置项即可:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "redirectStdin": true,
            "stdinFilePath": "${fileDirname}/input.txt"
        }
    ]
}

其中${fileDirname}是VSCode内置变量,代表当前运行的Python文件所在目录,会自动匹配同目录下的input.txt,不需要写死绝对路径。

解决方案2:通过任务配置使用shell重定向(适合直接运行不需要调试的场景)

如果不需要调试功能,仅需要运行代码时读取输入,可以通过配置自定义任务实现:

  1. 按下Ctrl+Shift+P打开命令面板,输入Tasks: Configure Task,依次选择「创建tasks.json文件」→「Others」
  2. 在生成的tasks.json中写入以下配置:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "运行Python并读取input.txt",
            "type": "shell",
            "command": "python ${file} < input.txt",
            "options": {
                "cwd": "${fileDirname}"
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
  1. 后续需要运行代码时,按下Ctrl+Shift+B即可执行该任务,自动从同目录的input.txt读取输入。

内容的提问来源于stack exchange,提问作者오승현

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:06:02