Комментарии к вашему вопросу уже указывают, что есть еще один способ разбора аргументов, называемый argparse . Это было введено в Python 3.2. На самом деле он устарел optparse
, но используется аналогично.
argpass
поставляется с различными классами форматирования и, например, argparse.ArgumentDefaultsHelpFormatter
также будет печатать значения по умолчанию без необходимости манипулировать строкой помощи вручную.
Объекты ArgumentParser позволяют настраивать форматирование справки с помощью
указание альтернативного класса форматирования. В настоящее время существует четыре
такие классы:
class argparse.RawDescriptionHelpFormatter
класс argparse.RawTextHelpFormatter
класс argparse.ArgumentDefaultsHelpFormatter
класс argparse.MetavarTypeHelpFormatter
Пример из документации по питону:
>>> parser = argparse.ArgumentParser(
... prog='PROG',
... formatter_class=argparse.ArgumentDefaultsHelpFormatter)
>>> parser.add_argument('--foo', type=int, default=42, help='FOO!')
>>> parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!')
>>> parser.print_help()
usage: PROG [-h] [--foo FOO] [bar [bar ...]]
positional arguments:
bar BAR! (default: [1, 2, 3])
optional arguments:
-h, --help show this help message and exit
--foo FOO FOO! (default: 42)
см. классы форматирования argparse