Visual Studio代码:如何使用参数调试Python脚本


81

我正在使用Visual Studio Code来调试Python脚本。

按照本指南,我在launch.json文件中设置参数:

在此处输入图片说明

但是,当我按Debug时,它说我的参数无法识别,Visual Studio Code说:

错误:无法识别的参数

在此处输入图片说明

当Visual Studio Code使用PowerShell时,让我们使用相同的参数执行相同的文件:

在此处输入图片说明

因此:相同的文件,相同的路径和相同的参数。在终端中,它正在运行,但在Visual Studio Code中却不起作用。

我哪里错了?

Answers:


102

我认为--City和Auckland是一个单独的论点。也许像这样尝试将它们分开...

单论点

    "args": ["--city","Auckland"]

多个参数和多个值

如:

--key1 value1 value2 --key2 value3 value4

只需将它们依次一一args列出即可:

"args": ["--key1", "value1", "value2", "--key2", "value3", "value4"]


2
如果我有几个论点--city Auckland --year 2000怎么办?
约翰内斯

3
然后,您可以像“ args:[“-city”,“ Auckland”,“-year”,“ 2000”]一样做
niid

4
有人让nargs运行吗?args: ["--my-n-args", "4 5"]不起作用:error: argument -m/--my-n-args: invalid int value: '4 5' 编辑:自己找到了:args: ["--my-n-args", "4", "5"]
oli-ver

如果我没有钥匙,怎么办?我想运行类似my_program.py的火车。如何添加没有任何键的参数“ train”?
康斯坦丁

@konstantin可能是args: ["train"]参数,它只是由shell作为字符串数组传递给程序的,在这里您以json格式定义了一个字符串数组。Python sys模块将它们显示为字符串列表。
罗伯·费舍尔

7

在Visual Studio中,您可以通过方便自然的方式传递多个参数:

--trail=0 --g=0 --V="HO" --save_interval=10 --verbose=True

我只是不知道为什么他们在Visual Studio Code中不支持此功能。逐一列出参数很麻烦而且有点傻。他们只要将参数字符串传递给Python解析器,事情就可以轻松完成。



0

文件launch.json在Python项目文件夹路径.vscode,在Visual Studio代码进行测试F5

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": ["c", "pwd"],
        }
    ]
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.