меню действий argparse с переменными параметрами - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь создать программу, которая принимает первый аргумент в качестве действия (например, program list, program create, program delete и т. Д.), А затем использует остальные предоставленные параметры в контексте длядействие (например, -c, --all и т. д.).

Как я могу определить один и тот же необязательный аргумент несколько раз для каждого действия, которое я определяю в первом аргументе?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018
Комментарий

@hpaulj помог мне решить эту проблему. Я использовал подпарсеры и создал отдельные контексты для хранения конфигурации для каждого основного действия, которое есть в моем сценарии.

Пример можно найти здесь: https://stackoverflow.com/a/53324772/901925

0 голосов
/ 18 ноября 2018

Вы можете использовать что-то вроде этого:

parser = argparse.ArgumentParser()
parser.add_argument("action", type=str, help="action like create or delete")
parser.add_argument("-c", action="count", default=0)

в этом случае первый аргумент, заданный без -c, будет сохранен в переменной action.

...