VScode下Python程序接收命令行参数的运行和调试

使用VsCode进行python代码调试参数(args)添加方法
win10环境下python接收命令行传递的参数以及cmd切换目录

运行代码: F:\spiders4cxq\bilibili\download_vip_video\test.py

import sys
# python test.py 55 44 88
if __name__=='__main__':
    n = int(sys.argv[1])#从命令行读取一个参数赋给n,是str类型所以需要转换成int型
    m = int(sys.argv[2])
    print("打印输出接收的参数:")
    print('\t类型:',type(sys.argv),'\n\t值:', sys.argv)
    print("$$$$$$$$$$")
    print(sys.argv[0])
    print(sys.argv[-1])
    print("##########")
    print(n+m)
    print("**********")
    for item in sys.argv:
        print(type(item))
# python test.py 11111 22222 88888

'''
"args": ["11111","22222","88888"]
'''
运行方式: 
Ctrl+Shift+` 新打开Terminal窗口,
输入命令: python test.py 11111 22222 88888
即可运行.

运行结果如下:
在这里插入图片描述
直接运行程序或者debug调试程序均会报错,具体如下:

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

加载个人及系统配置文件用了 849 毫秒。
(base) PS F:\spiders4cxq\bilibili\download_vip_video> conda activate web_crawler
(web_crawler) PS F:\spiders4cxq\bilibili\download_vip_video> & D:/Anaconda3/envs/web_crawler/python.exe f:/spiders4cxq/bilibili/download_vip_video/test.py
Traceback (most recent call last):
  File "f:/spiders4cxq/bilibili/download_vip_video/test.py", line 4, in <module>
    n = int(sys.argv[1])#从命令行读取一个参数赋给n,是str类型所以需要转换成int型
IndexError: list index out of range
(web_crawler) PS F:\spiders4cxq\bilibili\download_vip_video> 



Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

加载个人及系统配置文件用了 952 毫秒。
(base) PS F:\spiders4cxq\bilibili\download_vip_video> conda activate web_crawler
(web_crawler) PS F:\spiders4cxq\bilibili\download_vip_video>  & 'D:\Anaconda3\envs\web_crawler\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2021.6.944021595\pythonFiles\lib\python\debugpy\launcher' '61356' '--' 'f:\spiders4cxq\bilibili\download_vip_video\test.py'
Traceback (most recent call last):
  File "f:\spiders4cxq\bilibili\download_vip_video\test.py", line 4, in <module>
    n = int(sys.argv[1])#从命令行读取一个参数赋给n,是str类型所以需要转换成int型
IndexError: list index out of range
(web_crawler) PS F:\spiders4cxq\bilibili\download_vip_video>

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

解决方案如下:

1.点击左侧菜单栏 Run and Debug 图标,

在这里插入图片描述

2.点击 create a launch.json file

在这里插入图片描述

3.点击 Python文件 调试打开的Python文件

在这里插入图片描述

新建的launch.json文件:
在这里插入图片描述

4.打开新创建的launch.json文件,
在 configurations 内部, console 之后,
添加命令行参数,即:
"args": ["11111","22222","88888"]
效果如下截图所示:

launch.json文件修改后的结果展示:
在这里插入图片描述

此后可以运行或者调试代码,以launch.json中设置的命令行参数执行:

点击 Run, 再点击Start Debugging或者点击Run Without Debugging.
也可以直接按F5或者Ctrl+F5进行调试或者运行.

在这里插入图片描述

运行结果截图如下:
在这里插入图片描述

调试结果截图如下:
在这里插入图片描述

在这里插入图片描述

也可以
Ctrl+Shift+` 新打开Terminal窗口,
输入: python test.py 55 44 88
执行程序,并且接收的命令行参数不受launch.json所影响.

执行结果截图如下:
在这里插入图片描述


版权声明:本文为m0_46653437原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。