在 VS Code 中运行 Python 脚本时如何隐藏文件路径?

har*_*oin 8 python visual-studio-code

每次我运行代码时,底部的终端都会显示这个长名称(我认为是文件位置)以及它应该显示的任何输出。

有没有办法让它消失?

它看起来是这样的:

(发生的事情的截图)

administrator@Machintosh-2 Exercise Files Python % /user/bin/python3...
Hello world!  
administrator@Machintosh-2 Exercise Files Python %
Run Code Online (Sandbox Code Playgroud)

Gin*_*pin 2

AFAIK,没有办法隐藏路径,因为 VS Code 集成终端基本上使用操作系统/系统的底层终端。在终端上运行Python脚本需要以下形式:

<path/to/python/interpreter> <path/to/python/file>
Run Code Online (Sandbox Code Playgroud)

如果您想要“更干净”的控制台输出,您可以为 Python 创建调试/启动配置,然后将console配置设置为internalConsole

.vscode/launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "run-my-script",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/path/to/your_script.py",
            "console": "internalConsole"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这将在“调试控制台”选项卡而不是“终端”选项卡中显示输出。将不再有路径,无论您的脚本打印到控制台是什么。

样本输出

调试控制台截图

不幸的是,如果您的 Python 代码使用并需要input()用户的手动操作,则使用调试控制台internalConsole解决方案将不起作用。它会显示这个错误:

在此输入图像描述

没有直接的解决方案来获得“干净”的输出并允许手动用户input()。您可能需要考虑从文件中读取程序输入或将它们作为命令行参数传递[args]VS Code 支持在运行脚本时传入参数 ( )

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "run-my-script",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/path/to/your_script.py",
            "console": "internalConsole"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

使用"args"launch.json 文件中的选项。这是一个简单的例子sys.argv

蟒蛇代码

import sys

# This is always path to the script
arg_0 = sys.argv[0]

# Same sequence as "args" in launch.json
arg_1 = sys.argv[1]
arg_2 = sys.argv[2]

print(arg_1)
print(arg_2)
Run Code Online (Sandbox Code Playgroud)

.vscode/launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "run-my-script",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/path/to/your_script.py",
            "console": "internalConsole",
            "args": [
                "89",
                "abc"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

样本输出

带命令行参数的调试控制台