python test.py --arg -foo -bar
test.py: error: argument --arg: expected at least one argument
python test.py --arg -8
['-8']
如何允许-non_number与argparse一起使用?
有没有办法禁用短参数?
答案 0 :(得分:3)
这样称呼:
python test.py --arg='-foo'
允许指定多个:
parser.add_argument('--arg', action='append')
# call like python test.py --arg=-foo --arg=-bar
答案 1 :(得分:1)
我认为你正在寻找argparser的nargs
参数。
parser.add_argument('--arg', nargs='?')
目前,--arg
正在将值'-8'
解释为输入,而它认为'-f'
(带参数'oo'
)是一个新参数。
或者,你可以使用action='store_true'
,它将用布尔值表示参数的存在与否。
parser.add_argument('--arg', action='store_true')