Сообщить об ошибке.

Метод set_defaults() объекта ArgumentParser в Python

Параметры парсера по умолчанию

Синтаксис:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument(...)
parser.set_defaults(**kwargs)

Параметры:

  • **kwargs -

Возвращаемое значение:

Описание:

В большинстве случаев атрибуты объекта, возвращаемого методом parser.parse_args(), будут полностью определены путем проверки параметров командной строки и их действий.

Метод set_defaults() объекта ArgumentParser позволяет добавлять некоторые дополнительные атрибуты, которые определяются без какой-либо проверки командной строки:

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('foo', type=int)
>>> parser.set_defaults(bar=42, baz='badger')
>>> parser.parse_args(['736'])
# Namespace(bar=42, baz='badger', foo=736)

Обратите внимание, что значения по умолчанию на уровне парсера всегда переопределяют значения по умолчанию на уровне параметров:

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', default='bar')
>>> parser.set_defaults(foo='spam')
>>> parser.parse_args([])
# Namespace(foo='spam')

Значения по умолчанию на уровне парсера могут быть особенно полезны при работе с несколькими парсерами. Смотрите пример в методе parser.add_subparsers().

parser.get_default(dest):

Метод get_default() объекта ArgumentParser возвращает значение по умолчанию для атрибута пространства имен, установленное с помощью методов parser.add_argument() или parser.set_defaults():

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', default='badger')
>>> parser.get_default('foo')
# 'badger'