ArgumentParser解析在Parser中未定义的可选参数

时间:2019-01-07 14:40:59

标签: python arguments argparse

我有以下几行来解析命令行参数:

...
parser = argparse.ArgumentParser(description="Arguments for Creation of delivery report")

parser.add_argument('tag', help="GIT Tag of the Release")    
parser.add_argument('--foo')    
parser.add_argument('--bar')

parsed_args = parser.parse_args(sys_args)
...

这可以像以下调用那样正常使用:

python my_script.py tag123 --foo foo --bar bar

我想要实现的是,此脚本的用户可以将其他“ kwargs”作为命令行参数传递,而无需我通过add_argument在解析器中定义它们。

因此调用脚本如下:

python my_script.py tag123 --foo foo --bar bar --a 1 --b 2

应该给我:

Namespace(tag='tag123', foo='foo', bar='bar', a='1', b='2')

有没有办法做到这一点?

Fyi:我事先不知道还会给出什么附加的可选参数。因此,扩展解析器不是一种选择。将其他参数视为** kwargs

0 个答案:

没有答案