我正面臨着python 2.6.1 argparse 0.8的這個問題,我需要添加%d
來幫助描述。如何將%d添加到argparse幫助文本
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
您可能已經知道這一點。使用'%'轉義工作正常2.7 – bernie 2013-02-08 18:56:11
@bernie您應該將其作爲答案發布。 – Bakuriu 2013-02-08 18:59:11
更新您的argparse版本。 stdlib版本中的['%%'工程](http://ideone.com/g3mgRb)。 – jfs 2013-02-08 18:59:40