Заставить argparse одинаково обрабатывать тире и подчеркиваниеPython

Программы на Python
Anonymous
 Заставить argparse одинаково обрабатывать тире и подчеркивание

Сообщение Anonymous »

Код: Выделить всё

argparse
заменяет дефисы/тире в необязательных аргументах символами подчеркивания, чтобы определить имя их атрибута:

Код: Выделить всё

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--use-unicorns', action='store_true')
args = parser.parse_args(['--use-unicorns'])
print(args)  # returns: Namespace(use_unicorns=True)
Однако пользователь должен помнить, какая опция — --use-unicorns или --use_unicorns; использование неправильного варианта вызывает ошибку.
Это может вызвать некоторое разочарование, поскольку переменная args.use_unicorns в коде не дает понять, какой вариант был определен.
Как заставить argparse принимать как --use-unicorns, так и --use_unicorns?

Подробнее здесь: https://stackoverflow.com/questions/535 ... dentically

Вернуться в «Python»