首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过argparse将bash变量数组读入python

通过argparse将bash变量数组读入python
EN

Stack Overflow用户
提问于 2020-06-03 10:32:40
回答 2查看 104关注 0票数 0

我正在尝试使用argparse从bash脚本中读入值列表。但是,它似乎只读取了1个值,而不是列表。

例如,在train.py中

代码语言:javascript
复制
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脚本如下:

代码语言:javascript
复制
LR="1e-1 1e-2 1e-3 1e-4 1e-5 1e-6"
python train.py --lr=$LR

在train.py中,打印(args.lr)仅输出1e-3。通过argparse读取值列表的正确方式是什么?

EN

回答 2

Stack Overflow用户

发布于 2020-06-03 11:54:41

尝试从参数中删除=,如下所示:

代码语言:javascript
复制
python train.py --lr $LR

这将使--lr和来自$LR的每个值成为python脚本的单独参数。

票数 0
EN

Stack Overflow用户

发布于 2021-02-12 21:57:02

将整个参数放在双引号中,如下所示:

代码语言:javascript
复制
python train.py "--lr=$LR"

应该可以在Windows,Linux,MacOS上工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62164290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档