Значение по умолчанию для опции подпарсера (Python argparse)
Моя программа boiler
использования argparse
для разбора параметров командной строки и подпарасера chain
(на самом деле, я собираюсь добавить больше подкоманд). Следует принять вариант -t
как для основного парсера опций, так и для субпарсера.
Пример:
boiler -t URL chain
эквивалентно
boiler chain -t URL
Опция парсера подкоманды переопределяет глобальную опцию. Например:
boiler -t URL1 chain -t URL2
эквивалентно
boiler chain -t URL2
Какой самый элегантный способ кодировать это с Python argparse
?
То, что я действительно собираюсь сделать, описывает в этом ответе: /questions/4180017/obedinenie-v-komandnoj-stroke-neskolkih-transformatsij-s-optsiyami/4180027#4180027 вопроса Цепочка в командной строке несколько трансформаций с опциями. Обратите внимание, что описанное выше не совсем то, что мне нужно, но мне нужно проанализировать конвейер подкоманд, как описано там (некоторые из этих подкоманд могут занять -t
опция и другие опции с возможным глобальным значением по умолчанию).
Пример того, что мне действительно нужно:
boiler -t URL1 pipe 'chain -t URL2 + chain'
Здесь первая цепочка из двух цепей, разделенных +
использует URL2, а второй использует URL1.