Ну, что я могу сказать, у вас есть два варианта,
import argparse
p = argparse.ArgumentParser(description="a foo bar dustup")
p.add_argument('-i', '--ini', metavar='', help="use alternate ini file")
print '\n', p.parse_args()
или вы можете написать собственный класс форматера , я понимаю, что первый вариант может быть не идеальным решением, поскольку он избавляет от CAPS в строке использования. Если это так важно, вот источник для argparse, из того, что я могу сказать, классы форматирования по умолчанию не будут делать именно то, что вы хотите.
Edit:
Что ж, я пошел дальше и создал для вас свой собственный класс форматирования, так же, как и другие ... не уверен, что я бы порекомендовал вам использовать его в рабочем коде, поскольку для него не будет официальной документации по Python = P
import argparse
from argparse import HelpFormatter
class MyFormatter(HelpFormatter):
"""
for matt wilkie on SO
"""
def _format_action_invocation(self, action):
if not action.option_strings:
default = self._get_default_metavar_for_positional(action)
metavar, = self._metavar_formatter(action, default)(1)
return metavar
else:
parts = []
# if the Optional doesn't take a value, format is:
# -s, --long
if action.nargs == 0:
parts.extend(action.option_strings)
# if the Optional takes a value, format is:
# -s ARGS, --long ARGS
else:
default = self._get_default_metavar_for_optional(action)
args_string = self._format_args(action, default)
for option_string in action.option_strings:
parts.append(option_string)
return '%s %s' % (', '.join(parts), args_string)
return ', '.join(parts)
def _get_default_metavar_for_optional(self, action):
return action.dest.upper()
p = argparse.ArgumentParser("a foo bar dustup", formatter_class=MyFormatter)
p.add_argument('-i', '--ini', help="use alternate ini file")
p.print_help()