У меня есть следующий код в минуту:
parser = argparse.ArgumentParser(prog='Tempus')
ex_group = parser.add_mutually_exclusive_group(required=True)
## Miscellaneous but needed args
parser.add_argument('--mode', type=str, choices=['xml', 'text', 'term'],
dest='mode', required=True, help='export mode')
parser.add_argument('-v', '--verbose', action='store_true',
dest='verbose', help='enable verbose/debug mode')
# Input methods
ex_group.add_argument('--i', action='store_true',
dest='interactive', help='enter interactive mode')
ex_group.add_argument('--p', metavar='I', type=float,
dest='integer', help='percentage to use')
args = parser.parse_args()
Однако, когда я передаю необходимые аргументы, в любом порядке я получаю сообщение об ошибке:
Tempus: error: argument --mode is required
Иэто происходит, даже когда я передаю этот аргумент.Любой способ отсортировать это?
Спасибо!
РЕДАКТИРОВАТЬ: Спасибо всем, у меня все получилось, получается выполнить его без предварительного указания exe-файла pythonне передавайте аргументы.
Еще один быстрый вопрос: возможно ли создать аргумент, похожий на --mode в моем коде, но разрешить передачу дополнительного аргумента одному из вариантов?
Например, есть команда, такая как --input, которая может принимать два аргумента 'integer' и 'interactive', но я также могу передать число целочисленной команде --input?Таким образом, команда будет читать: --введите целое число 23, например?Это возможно?