tl; dr 我可以通过prog.py a b -opt 1
和prog.py -opt 1 a b
。我无法通过prog.py a -opt 1 b
。我想。
给出ArgumentParser
这样的设置
parser = argparse.ArgumentParser()
parser.add_argument(dest='arg', action='append', nargs='+')
parser.add_argument('-opt', dest='opt', action='store')
我希望将默认情况下的参数附加到arg
prog.py a -opt 1 b
我希望这返回参数元组(arg=[['a', 'b']], opt='1')
。但是传递带有混合选项的参数将失败,并显示错误消息error: unrecognized arguments: b
。
但是,按此顺序传递参数会成功:
prog.py a b -opt 1
prog.py -opt 1 a b
我无法混合用于arg
的参数的位置。
如何将ArgumentParser
后备添加到一个参数参数?