我正在尝试使用argparse从bash脚本中读取值列表。但是,它似乎只读取1个值而不是列表。
例如,在train.py中
parser = argparse.ArgumentParser(description='PyTorch ImageNet Training')
parser.add_argument('--lr', '--learning-rate', default=[0.1], type=float, nargs='+',
metavar='LR', help='initial learning rate', dest='lr')
args=parser.parse_args()
我的bash脚本如下:
LR="1e-1 1e-2 1e-3 1e-4 1e-5 1e-6"
python train.py --lr=$LR
在train.py中,print(args.lr)仅输出1e-3。通过argparse读取值列表的正确方法是什么?
尝试如下从参数中删除=
:
python train.py --lr $LR
这将使--lr
和$LR
中的每个值成为python脚本的单独参数。