argparse accept all

Есть ли способ, чтобы argparse.ArgumentParserне вызывал исключение при чтении неизвестной опции, а помещал все неизвестные опции со значениями в словарь, а те, у которых нет значения, в список ?

Например, скажем, что в синтаксическом анализаторе не определены аргументы для prog.py, и я передаю два аргумента:

./prog.py --foo bar --baz

Я хотел бы следующее:

parsed = parser.parse_args()
vals = parsed.unknown_with_vals
novals = parsed.unknown_without_vals

print(vals)
#{'foo' : 'bar'}
print(novals)
#['baz']

Можно ли это сделать?

13
задан That1Guy 27 July 2017 в 15:51
поделиться