加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何将%d添加到argparse帮助文本

发布时间:2020-12-20 13:32:59 所属栏目:Python 来源:网络整理
导读:我正在使用 python 2.6.1 argparse 0.8来解决这个问题,我需要添加%d来帮助描述,例如 import argparseparser = argparse.ArgumentParser()parser.add_argument('--range',metavar='range',type=str,help='generates a list of host from given range e.g. "h
我正在使用 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',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

解决方法

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

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

那是4%.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读