vs code 中总是要配置lanch.json,有时候参数太长,一个个写麻烦,这里给出一个简单的python转换方法
比如命令为python main.py --model_name HIST --data_set csi100 --hidden_size 128 --num_layers 2 --n_epochs 2 --repeat 1 --outdir ./output/debug --overwrite
>>> a='--model_name HIST --data_set csi100 --hidden_size 128 --num_layers 2 --n_epochs 2 --repeat 1 --outdir ./output/debug --overwrite'
>>> def get_args_str(args_str):
c = '\"' + '" , "'.join(args_str.split()) + '\"'
return c
>>> print(get_args_str(a))
"--model_name" , "HIST" , "--data_set" , "csi100" , "--hidden_size" , "128" , "--num_layers" , "2" , "--n_epochs" , "2" , "--repeat" , "1" , "--outdir" , "./output/debug" , "--overwrite"
把最后一行粘贴到下面的“args”: []
中就可以了
launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "learn.py",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/learn.py", // fix learn.py as the main.py
"python": "/home/zzz/.conda/envs/torch1.8/bin/python", //这个是虚拟环境 conda info --envs 可以看虚拟环境的地址
"console": "integratedTerminal",
"args": [
"--model_name",
"HIST",
"--data_set",
"csi100",
"--hidden_size",
"128",
"--num_layers",
"2",
"--n_epochs",
"2",
"--repeat",
"1",
"--outdir",
"./output/debug",
"--overwrite"
],
},
// 相当于pycharm 要跑的第二个文件
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}", //current file as the main.py
"console": "integratedTerminal",
"justMyCode": true
},
]
}