Python Argparse: Как сделать аргументы зависимыми от выбора другого аргумента - PullRequest
0 голосов
/ 13 ноября 2018

Программа Python имеет несколько опций, таких как загрузка данных, модель сборки или обе.Пример:

parser.add_argument('-m', '--mode', required=True, choices=['dload', 'predict', 'both'],
                    help='dload = download data\n '
                         'predict = build prediction model\n,'
                         'both = download and predict')

, но я хочу убедиться, что некоторые другие аргументы должны появляться только при загрузке.Я могу легко установить required=False, но это не выглядит хорошим решением.

parser.add_argument('-s', '--start-year-month', required=False,
                    help="start year to download data, separate year and month by '- ' "\
                    "ex: 2010-01")

parser.add_argument('-e', '--end-year-month', required=False,
                    help="ending year of data set separate year and month by '- ' " \
                    "ex: 2010-01")

выше двух аргументов требуется только в том случае, если для -m выбрано dload или both

...