argparse с опцией "+" - PullRequest
       19

argparse с опцией "+"

0 голосов
/ 31 мая 2018

Я использовал argparse для разбора параметров командной строки и отлично работал.Теперь я хотел бы использовать + вместо - для некоторых опций.

Пример: script.py +opt -f <filename>

Можно ли использовать такие опции + с argparse?

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете установить для параметра prefix_chars значение, отличное от '-':

parser = argparse.ArgumentParser(prefix_chars='-+')

, с этого момента вы можете начать использовать - или + вопределение аргументов:

>>> import argparse
>>> parser = argparse.ArgumentParser(prefix_chars='-+')
>>> parser.add_argument('+opt', action='store_true')
_StoreTrueAction(option_strings=['+opt'], dest='opt', nargs=0, const=True, default=False, type=None, choices=None, help=None, metavar=None)
>>> parser.add_argument('-f')
_StoreAction(option_strings=['-f'], dest='f', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)
>>> parser.parse_args(['+opt', '-f', '<filename>'])
Namespace(f='<filename>', opt=True)

Выше определено +opt;Вы должны использовать правильный префикс, чтобы вызвать его, -opt не будет работать.

...