У меня проблема, что я не вижу значений по умолчанию для аргументов при указании их с помощью add_argument для подпараметров с использованием пакета Python с помощью argparse.Argparse: значения по умолчанию, не показанные для подпараметров
Некоторые исследования сказали, что вам нужно непустые справки-набор параметров для каждого шага add_argument и вам нужно ArgumentDefaultsHelpFormatter в formatter_class, как описано здесь:
Argparse: Way to include default values in '--help'?
Это не работает для меня, однако. Я подозреваю, что каким-то образом подпункт-подпункты подавляются.
Вот пример:
from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
parser = ArgumentParser(description="Sample script", formatter_class=ArgumentDefaultsHelpFormatter, version="sample version")
# Initialize Subparsers
subparsers = parser.add_subparsers(help="", dest="command")
# foo command
fooparser = subparsers.add_parser('foo', help='Do foo')
fooparser.add_argument('files', action='store', help='Foo file(s)' , nargs="+")
fooparser.add_argument("-5", "--Do5", type=int, required=False, dest="do5", help="Do 5 subprocedure.")
fooparser.add_argument("-n", "--topn", type=int, required=False, dest="topn", default=1, help="Show topn")
# bar command
barparser = subparsers.add_parser('bar', help='Do bar')
barparser.add_argument('files', action='store', help='Bar file(s)' , nargs="+")
barparser.add_argument("-mq", "--min-mq", type=int, required=False, default=2, dest="mq", help="Minimum MQ")
barparser.add_argument("-mi", "--min-identity", type=float, required=False, default=0.95, dest="identity", help="Minimum identity")
args = parser.parse_args()
Проверьте другой ответ в этой связи, то один, добавив свой собственный '% (по умолчанию) s' к линии помощи. Класс форматирования - это просто «ленивый человек». :) – hpaulj
Да, я знал о% (по умолчанию), но мне было нужно решение ленивого человека;) –