【发布时间】:2014-12-07 09:27:04
【问题描述】:
我想像myscript A B C一样运行cli,它应该返回命名空间(my_attribute=['A','B','C'])或myscript,当没有指定参数时,它应该返回默认值,即命名空间(my_attribute=['A', 'B', 'C', 'D'])
这可能吗?
- nargs='+' 需要至少 1 个命令行参数或引发错误
- nargs='?'需要 1 或 0 个参数
- nargs='*' 似乎应该可以工作,但不会生成 add_argument() 中指定的默认列表
我现在有以下内容。
parser.add_argument(
dest='my_attribute',
choices=('A', 'B', 'C', 'D'),
nargs='*',
default=['A', 'B', 'C', 'D'],
)
**编辑
例如:这可行,但我必须在 A B 之前指定 -attr。我不想使用 -attr
parser.add_argument(
'-attr',
dest='my_attribute',
choices=['A','B', 'C', 'D'],
nargs='+',
default=['A','B', 'C', 'D'],
【问题讨论】: