如何将%d添加到argparse帮助文本(How to add %d to argparse help text)

编程入门 行业动态 更新时间:2024-10-27 20:33:18
如何将%d添加到argparse帮助文本(How to add %d to argparse help text)

我面临这个问题与python 2.6.1 argparse 0.8,我需要添加%d来帮助描述例如

import argparse parser = argparse.ArgumentParser() parser.add_argument('--range', metavar='range', type=str, help='generates a list of host from given range e.g. "host%d.example.com 1 224"') args = parser.parse_args()

它会抛出错误

$ ./args.py -h ... python2.6/site-packages/argparse.py", line 458, in _expand_help return action.help % params TypeError: %d format: a number is required, not dict

我可以理解,所以我试图逃避%例如

parser.add_argument('--range', metavar='range', type=str, help='generates a list of host from given range e.g. "host%%d.example.com 1 224"')

但我仍然遇到另一个错误

$ ./args.py -h ... python2.6/site-packages/argparse.py", line 252, in format_help help = self._root_section.format_help() % dict(prog=self._prog) TypeError: %d format: a number is required, not dict

所以我不确定如何正确转义% ,以便在帮助输出中看到%d

I am facing this problem with python 2.6.1 argparse 0.8 , I need to add %d to help description e.g.

import argparse parser = argparse.ArgumentParser() parser.add_argument('--range', metavar='range', type=str, help='generates a list of host from given range e.g. "host%d.example.com 1 224"') args = parser.parse_args()

It throws error

$ ./args.py -h ... python2.6/site-packages/argparse.py", line 458, in _expand_help return action.help % params TypeError: %d format: a number is required, not dict

Which I can understand, so I tried to escape % e.g.

parser.add_argument('--range', metavar='range', type=str, help='generates a list of host from given range e.g. "host%%d.example.com 1 224"')

But I still get another error

$ ./args.py -h ... python2.6/site-packages/argparse.py", line 252, in format_help help = self._root_section.format_help() % dict(prog=self._prog) TypeError: %d format: a number is required, not dict

So I am not sure how to escape % properly so that I can see %d in help output

最满意答案

由于argparse格式化字符串两次,出现2个错误,解决方案是双重转义% :

parser.add_argument('--range', metavar='range', type=str, help='generates a list of host from given range e.g. "host%%%%d.example.com 1 224"')

这是4 % 。

Since argparse is formatting the string twice, giving 2 errors, the solution is to double-escape the %:

parser.add_argument('--range', metavar='range', type=str, help='generates a list of host from given range e.g. "host%%%%d.example.com 1 224"')

That's 4 %s.

更多推荐

本文发布于:2023-08-01 13:29:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1360120.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何将   文本   text   argparse   add

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!