How do I pass command line arguments to Python from VS in Debug mode?
我正在使用适用于Visual Studio的Python工具。 (注意,不是IronPython。)
我需要处理从命令行传递到模块的参数。 通过在代码窗口中右键单击并选择"从调试开始",我了解了如何在Debug中启动模块。 但是这种方法永远不会提示我输入命令行参数,并且len(sys.argv)总是== 1。
如何在调试模式下启动模块并向其传递参数,以便sys.argv具有多个成员?
通过右键单击项目并选择"属性",或从"项目"菜单中选择"属性",转到项目属性。
单击"调试",然后将参数输入"脚本参数"字段。
保存。
步骤显示在此处链接的图像中:https://i.stack.imgur.com/Hx5tf.png
在json中的任何配置中,添加args json参数:
{
" name":" Python:终端(集成)",
" type":" python",
" request":"启动",
" stopOnEntry":是的,
" pythonPath":" $ {config:python.pythonPath}",
" program":" $ {file}",
" cwd":",
" console":" integratedTerminal",
" env":{},
"参数":[
" input2.csv",
" output2.csv"
],
" envFile":" $ {workspaceFolder} /。env",
" debugOptions":[],
" internalConsoleOptions":" neverOpen"
}
确保在调试时选择该环境
我通过在脚本的第一行上放置一个断点并在VS中打开"即时"窗口(您可以在脚本上下文中执行命令)来解决此问题。然后我跑
1 2 | import sys sys.argv += 'arg1 arg2 --arg3'.split() |
1.如果您正在使用anaconda,请从anaconda navigator启动vscode。
2.然后从文件夹中打开python文件。
3.然后转到debug选项并单击添加配置,然后将启动launch.json文件,该文件中有"控制台":" integratedTerminal"行,对此行进行注释并添加"控制台":" none"并添加" args":[""您的命令行参数"]并保存。
4.调试或运行您的python文件。
见下面的链接。如何在vscode中添加命令行参数?
https://code.visualstudio.com/docs/python/debugging
您要从调试下拉菜单中选择"使用Python Interactive执行项目"。键盘快捷键是Shift + Alt + F5。当您执行此操作时,将在屏幕底部打开一个名为Python Interactive的窗口,您将看到打印的语句以及从程序输入的所有提示。
但是,这不允许您也进入调试模式。它可以是另一个。