(已解决)vscode如何传入argparse参数来调试/运行python程序

前言

以前,我都是用Pycharm专业版的,由于其好像在外网的时候,不能够通过VPN来连接内网服务器,我就改用了vscode。改用了之后,遇到一个问题,调试或者运行python程序的时候,怎么给程序传入参数。

通常,很多python项目都会用argparse这个包来统一管理程序运行时所需要的参数,

import argparse


parser = argparse.ArgumentParser(description="Deep Gaussian Processes on MNIST")
parser.add_argument("-n", "--num-epochs", default=5, type=int)
parser.add_argument("-t", "--num-iters", default=60, type=int)
parser.add_argument("-b", "--batch-size", default=1000, type=int)
parser.add_argument("-lr", "--learning-rate", default=0.01, type=float)


args = parser.parse_args()
print(args.num_epochs)
#结果是默认值5

现在问题来了,我们想要设置num_epochs这个参数为7,看一下程序运行效果好不好,怎么办?

有人说,我直接vscode底部开一个命令行终端,传入这个参数不就行了吗?这样当然可以,但是需要自己写运行命令,我们希望的是直接用vscode可视化的按钮。

有人说,直接把上述代码改成7不就好了吗?这样当然可以,但是好麻烦,要改代码,改多了别把默认值给忘了。

我们想要的是不改代码,每次运行程序,如果传入这个参数,那么这个参数就会被设置为我想要的值,如果不传入这个参数,那么程序就会用默认值5。

Pycharm直接是可以配置的,很方便。但是vscode很不直观,所以有了这一篇文章。

调试传入参数

首先,进入我们要调试的文件,我这是main.py。

点击右上角那个下拉,点击红色框。如果不传入参数,我们一般直接是点击红色框上面这个。
在这里插入图片描述
如下,点击那个设置lauch.json.

在这里插入图片描述
打开之后,这玩意应该是下面这个样子的。

在这里插入图片描述
我们在最后面添加如下行在这里插入图片描述
这样就大功告成了。

配置好了之后,重复上述的步骤,但是不点那个设置了,而是直接点debug。
在这里插入图片描述

这个时候,我们在vscode底部terminal里面可以发现,已经传入了这个参数。

运行传入参数

配置了上述那个lauch.json之后,运行传入参数很简单了。

不能点右上角那个运行按钮,而是点菜单栏那个,而且要点的不是第一个,而是第二个,Run without Debugging。

在这里插入图片描述

成功了,在vscode底部terminal里面可以发现,已经传入了这个参数。

延申

上面我们传入了一个参数,传入多个呢?在那个lauch.json文件里面的args里面继续往后写就行了。

例如

"args": ["--key1","value1","--key2","value2"]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

音程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值