Я написал следующие разборы командной строки, используя argparse, использующий подкоманды.
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter
)
sub_parser = parser.add_subparsers(title='sub commands',
help='sub commands help')
foo = sub_parser.add_parser('foo')
foo.add_argument(
'--a',
action='store',
default='1234',
help='A'
)
parser.parse_args(['foo', '--help'])
Когда я распечатаю справку по использованию подкоманды foo, я ожидал бы, что это значение по умолчаниюаргумента - а показано.Но этого не происходит.
Здесь текущий вывод:
usage: test_args.py foo [-h] [--a A]
optional arguments:
-h, --help show this help message and exit
--a A A
Process finished with exit code 0
При вызове подкоманд foo без аргумента a используется значение по умолчанию.Так почему же значение по умолчанию не отображается в выходных данных об использовании?Это ошибка?
Или вы знаете, как этого добиться?