在Visual Studio代码中运行python脚本; 如何让`input()`工作?

And*_*ero 5 python python-3.x visual-studio-code


我正在尝试使用一个简单的输入input(),但是当我在Visual Code中运行脚本时,程序会在命中该行代码时挂起.

  • 如何在Visual Studio代码中运行代码并使用input()

任务

{
    "version": "0.1.0",

    "command": "python",

    "isShellCommand": true,

    "showOutput": "always",

    "args": ["${file}"],
}
Run Code Online (Sandbox Code Playgroud)

Fil*_*efp 6

介绍

如果您希望像普通用户那样与程序进行交互,则需要从命令行(终端)运行脚本,而不是直接在Visual Studio代码中运行.

> python name_of_program.py
Run Code Online (Sandbox Code Playgroud)

Visual Studio Code中显示的输出不是用于与底层脚本交互,也不能直接从键盘读取任何输入(它只显示您决定运行的任何输出).


解决方法

您可以做的是编辑任务文件以自动生成您选择的终端,而不是python直接运行-interpreter.

根据您所使用的操作系统和可用终端,执行此操作所需的编辑可能会略有不同,但它们都应遵循相同的模式.

{
           "version": "0.1.0",
           "command": "urxvt",
    "isShellCommand": false,
        "showOutput": "always",
              "args": [ "-e", "python ${file}" ]  
}
Run Code Online (Sandbox Code Playgroud)

注意
在上面,urxvt是我选择终端的名称,-e是传递启动时要执行的命令所需的标志,是要执行python ${file}的命令.

我的建议是获取启动新终端所需的命令,并直接执行python脚本,在编辑task -file 之前在别处工作.


adm*_*min 6

您可以在要运行的文本文件中单击鼠标右键,然后选择"在终端中运行Python文件".