Как получить названия аргументов из парсера или его группы?
Можно ли получить названия аргументов, добавленные с помощью add_argument() в парсер или его группу, до вызова parse_args()?
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--arg')
# тут надо получить строку 'arg' или '--arg' в переменную name
args = parser.parse_args()
print(vars(args)[name])
Вариант с ручным добавлением названий в список подразумевает дублицирование кода (т.к. у аргументов разные описания и прочее, просто циклом пройтись нельзя), вариант с ._actions не задокументирован.
Ответы (1 шт):
Автор решения: Max Gacrux
→ Ссылка
def parserArgument():
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--input", type=str, help="...")
ap.add_argument("-f", "--flag", type=str, help="...")
return vars(ap.parse_args())
if __name__ == '__main__':
args = parserArgument()
if args['input'] is not None:
name_file = args['input']
elif args['flag'] is not None:
flag = args['flag']