使用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版权协议,转载请附上原文出处链接和本声明。