我有以下几行来解析命令行参数:
...
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