如何在vscode中调试时给python代码传递参数
下面是需要接受参数的代码文件:
# test.py
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'-s', '--seed', # 带有“-”或“--”表示可选参数,可以传参,也可不传,传参顺序任意
type=int,
help = 'Random generator seed.',
default=0,
)
parser.add_argument(
'-g', '--gpu', # 带有“-”或“--”表示可选参数,可以传参,也可不传,传参顺序任意
type=int,
help='CUDA GPU id (-1 for CPU).',
default=-1,
)
parser.add_argument(
'privileged_policy', # 不带“-”和“--”表示必须有传递参数进来,且接收参数的顺序必须放在第一个位置
type=str,
)
parser.add_argument(
'arg2', # 不带“-”和“--”表示必须有传递参数进来,且接收参数的顺序必须放在第2个位置
type=str,
)
args = parser.parse_args()
print(args.privileged_policy)
print(args.arg2)
print(args.seed)
print(args.gpu)
- 如果是在命令行中传递参数的话,直接在终端执行
python test.py "noisy_good" "arg2_val" "-s" "0" "-g" "0"
命令即可。
下面为输出结果:
noisy_good
arg2_val
0
0
- 如果想要进行代码调试的话,需要按“Ctrl+Shift+D”打开“运行和调试”,点击小齿轮,打开“launch.json”文件,如果没有“launch.json”文件的话,就创建文件打开即可。
然后配置args参数,如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: 当前文件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"justMyCode": true,
"args": [
"noisy_good",
"arg2_val",
"-s", "0",
"-g", "0"
]
}
]
}
最后,回到python代码文件,点击“运行和调试”中的开始调试,如下图,或者按F5即可。