Значение по умолчанию для опции подпарсера (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.

0 ответов

Другие вопросы по тегам