Я использую argparse, и у меня есть различные группы, у которых есть свои собственные варианты.Настроить помощь среди групп в argparse
Теперь с --help вариант Я не хочу показывать все параметры по умолчанию. Для -help нужно показать только набор параметров групп.
Другие варианты группы должны подбираться на основе других вариантов помощи, так как --help_1
, --help_2
:
Например:
--help' to show Group 2 and 3
--help_1' to show Group 11 and 12
--help_2' to show Group 22 and 23
Я знаю, что мы можем отключить опцию --help по умолчанию с помощью add_help = False, но как я могу отображать только выбранные группы, которые могут помочь?
Мы можем получить список групп из синтаксического анализа с использованием _action_groups атрибутов, но они не подвергают какой-либо print_help() вариант как таковой.
Мой пример кода:
parser = argparse.ArgumentParser(add_help=False)
parser.add_argument('--help_a', action='store_true')
parser.add_argument('--help_b', action='store_true')
group1 = parser.add_argument_group("Feature 1")
group1.add_argument('--foo1')
group2 = parser.add_argument_group("Feature 2")
group2.add_argument('--foo2')
group3 = parser.add_argument_group("Feature 3")
group3.add_argument('--foo3')
# TODO: --help_a to only print "Feature 1" groups help
# and --help_b to print Feature 2 and 3's help.
EDIT: Использование subparser
и добавление парсеры (вместо группы) будет решать выше. Но subparser не подходит для моего случая, поскольку я все время разбираю его, мне нужно только настроить помощь для отображения.
Почему бы не пройти его через 'less'? 'python command.py --help | less' –
Это не кажется правильным в моем случае. Я не хочу, чтобы внешний пользователь использовал мой API или скрипт для анализа на их стороне. Сценарий должен обрабатывать его самостоятельно. – baky
Не понимаю. Можете ли вы добавить дополнительную информацию о том, какие группы вы используете, и почему вы хотите показывать разные страницы справки? –