Python argparse类型

2024-04-20 13:55:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我在玩python中的argparse。我有一些类似的东西:

group_gen.add_argument('--switch', nargs=2, metavar=('PARAM1', 'PARAM2'))

然后我删除了PARAM2,所以我有:

group_gen.add_argument('--switch', nargs=2, metavar=('PARAM1', 'PARAM2'))

然后每当argparse需要打印帮助时,我都会在堆栈跟踪中得到以下异常

Traceback (most recent call last):
  File "./script.py", line 20, in <module>
    args = parser.parse_args()
  File "/usr/lib/python2.7/argparse.py", line 1688, in parse_args
    args, argv = self.parse_known_args(args, namespace)
  File "/usr/lib/python2.7/argparse.py", line 1727, in parse_known_args
    self.error(str(err))
  File "/usr/lib/python2.7/argparse.py", line 2346, in error
    self.print_usage(_sys.stderr)
  File "/usr/lib/python2.7/argparse.py", line 2308, in print_usage
    self._print_message(self.format_usage(), file)
  File "/usr/lib/python2.7/argparse.py", line 2264, in format_usage
    return formatter.format_help()
  File "/usr/lib/python2.7/argparse.py", line 279, in format_help
    help = self._root_section.format_help()
  File "/usr/lib/python2.7/argparse.py", line 209, in format_help
    func(*args)
  File "/usr/lib/python2.7/argparse.py", line 317, in _format_usage
    action_usage = format(optionals + positionals, groups)
  File "/usr/lib/python2.7/argparse.py", line 449, in _format_actions_usage
    args_string = self._format_args(action, default)
  File "/usr/lib/python2.7/argparse.py", line 587, in _format_args
    result = ' '.join(formats) % get_metavar(action.nargs)
TypeError: not enough arguments for format string

为什么我得到这个错误?在

我很难搞清楚到底发生了什么,然后我突然意识到,命令格式字符串


Tags: inpyselfformatparselibusrline