提问者:小点点

在用于Python的launch.json中指定参数


我想在我的文件中指定参数以便调试。我知道我可以做到以下几点:

"args": ["--arg1", "value", "--arg2"]

但是,我有一个非常长的参数列表,其格式为空格分隔的字符串。如下所示:。我尝试指定:

"args": ["--arg1 value --arg2"]

但那没用。现在,我的工作流程是获取参数字符串,通过一个Python脚本运行它,该脚本将字符串更改为列表,并将其复制粘贴到文件中。有没有更好的办法做到这一点?


共3个答案

匿名用户

不幸的是,没有办法做到你想做的事。参数只能作为数组传递,而不能作为带有空格的字符串传递。带空格的参数用引号换行,并作为一个完整的参数传递。

引用文档:

args-传递给程序进行调试的参数。此属性的类型为array,并且需要单独的参数作为数组元素。

GitHub上一位开发人员的回答是:

将命令行转换为“args”的规则很简单:每个由空格分隔的命令行参数都需要成为“args”属性的单独项。

匿名用户

请注意,在中提供参数的工作方式与前面描述的一样,直到您需要键值参数。

例如,命令

$ python main.py --verbose --name Test

必须在launch.json参数行中编码,如下所示:

args:["--verbose", "--name=Test"],

在Visual Studio代码中的Python调试配置的“Watson”示例中找到一个几乎隐藏的提示。

匿名用户

啊啊啊啊。我只是浪费了我生命中的30分钟,试图弄清楚如何用价值观清晰地定义论点。有时事情成功,有时完全失败。我正在查看最后一条错误消息:

结果,我的python程序和文件launch.json都在VScode open Editor中处于活动状态。我正在对launch.json进行更改,但在启动调试器之前未能单击我的python文件。

多!python解释器在尝试运行。json文件时失败并不奇怪。需要仔细阅读完整的错误信息。(错误消息应该说。。。嘿,你这个大笨蛋。。。你应该在执行Python时使用。py文件!)

这里分享的信息,以防其他人犯同样的愚蠢错误。