回答问题

我在 Python 2.7](http://docs.python.org/library/argparse.html)中使用[argparse来解析输入选项。我的选择之一是多项选择。我想在其帮助文本中列出一个列表,例如

from argparse import ArgumentParser

parser = ArgumentParser(description='test')

parser.add_argument('-g', choices=['a', 'b', 'g', 'd', 'e'], default='a',
    help="Some option, where\n"
         " a = alpha\n"
         " b = beta\n"
         " g = gamma\n"
         " d = delta\n"
         " e = epsilon")

parser.parse_args()

但是,argparse会去除所有换行符和连续空格。结果看起来像

~/下载:52$ python2.7 x.py -h

用法:x.py [-h] [-g {a,b,g,d,e}]

测试

可选参数:

-h, --help 显示此帮助信息并退出

-g {a,b,g,d,e} 一些选项,其中 a u003d alpha b u003d beta g u003d gamma d u003d delta e

u003d ε

如何在帮助文本中插入换行符?

Answers

尝试使用RawTextHelpFormatter:

from argparse import RawTextHelpFormatter
parser = ArgumentParser(description='test', formatter_class=RawTextHelpFormatter)
Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐