【问题标题】:Python argparse TypeErrorPython argparse 类型错误
【发布时间】:2013-01-29 06:38:20
【问题描述】:

我在 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

为什么会出现这个错误?

我无法弄清楚发生了什么,然后我突然意识到,命令格式字符串

【问题讨论】:

  • 前两行一样吗?

标签: python typeerror argparse


【解决方案1】:

我认为你的问题错字严重,但试试这个:

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

这就是你想要做的吗?

【讨论】:

  • 是的。我刚刚加入回答我自己的问题,因为谷歌搜索和这里的搜索并没有完全找到我正在寻找的东西(但我最终弄明白了)。当我发布这个问题时,我发现了这个链接:stackoverflow.com/questions/11999416/…
  • 如果解决了这个问题,你介意继续接受它作为答案吗?此外,您应该填写您的个​​人资料。我保证你会留下来:)
猜你喜欢
  • 2013-10-05
  • 2014-06-03
  • 2014-11-03
  • 1970-01-01
  • 2013-06-06
  • 2017-08-20
  • 2018-07-21
  • 2016-06-20
  • 1970-01-01
相关资源
最近更新 更多