что означает metavar и action в argparse в python?
Я читаю через argparse модуль. Я застрял, как что metavar и означает
>>> parser.add_argument('integers', metavar='N', type=int, nargs='+',
... help='an integer for the accumulator')
>>> parser.add_argument('--sum', dest='accumulate', action='store_const',
... const=sum, default=max,
... help='sum the integers (default: find the max)')
Я, возможно, пропустил, но из того что я читал, я не мог найти определения metavar
и
action (action="store_const", etc)
. что они на самом деле означают?
Спасибо за помощь
3 ответов
metavar используется в сообщениях справки вместо ожидаемого аргумента. См.FOO
по умолчанию metavar
здесь:
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo')
>>> parser.add_argument('bar')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage: [-h] [--foo FOO] bar
...
действие определяет, как обрабатывать аргументы командной строки: сохранить его как постоянного, добавьте в список хранить логическое значение и т. д. Существует несколько встроенных действий, а также легко написать пользовательский.
Metavar: он предоставляет другое имя для необязательного аргумента в сообщениях справки. Укажите значение аргумента ключевого слова metavar в add_argument ().
например:
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', metavar='YYY')
>>> parser.add_argument('bar', metavar='XXX')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage: [-h] [--foo YYY] XXX
positional arguments:
XXX
optional arguments:
-h, --help show this help message and exit
--foo YYY
ссылка -http://www.usatlas.bnl.gov / ~caballer/files/argparse/add_argument.html
действие: аргументы могут вызывать различные действия, заданные аргументом action для add_argument (). Есть шесть встроенных действий, которые может запускаться при возникновении аргумента:
(1) Store - сохранить значение, при необходимости преобразовав его в другой тип. Это действие по умолчанию, если оно не указано явно.
(2) store_true/ store_false - сохранить соответствующее логическое значение.
(3) store_const - сохранить значение, определенное как часть спецификации аргумента, а не значение, полученное из анализируемых аргументов. Обычно это используется для реализации команды флаги строк, которые не являются логическими.
(4) добавить значение в список. Несколько значений сохраняются, если аргумент повторяется.
(5) append_const - сохранить значение, определенное в спецификации аргумента в список.
(6) версия - печать сведений о версии программы, а затем выход.
ссылка - http://bioportal.weizmann.ac.il/course/python/PyMOTW/PyMOTW/docs/argparse/index.html
то, что ты показал нам, это только первый пример. Соответствующие разделы из документов Python: