Предположим, что у меня есть скрипт argparse Python:argparse вариант по умолчанию на основе другого варианта
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--foo", required=True)
Теперь я хочу добавить еще один вариант --bar, который будет по умолчанию для добавления «_BAR» к тому, что было указано - -foo.
Моя цель:
>>> parser.parse_args(['--foo', 'FOO'])
>>> Namespace(foo='FOO', bar="FOO_BAR")
И
>>> parser.parse_args(['--foo', 'FOO', '--bar', 'BAR'])
>>> Namespace(foo='FOO', bar="BAR")
мне нужно что-то вроде этого:
parser.add_argument("--bar", default=get_optional_foo + "_BAR")
Хотелось бы знать, почему это было проголосовано.Никто другой не предложил решение, а тем более лучшее. – hpaulj
Не знаю, но +1 от меня. Мне нравится простота этого решения лучше, чем пользовательское действие, хотя подкласс ArgumentParser, добавляющий зависимости между аргументами, будет довольно круто. – sfink