我argparse在Python 2.7中用于解析输入选项.我的一个选择是多选.我想在其帮助文本中列出一个列表,例如
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()
Run Code Online (Sandbox Code Playgroud)
但是,argparse删除所有换行符和连续空格.结果看起来像
~/Downloads:52$ python2.7 x.py -h
usage: x.py [-h] [-g {a,b,g,d,e}]
test
optional arguments:
-h, --help show this help message and exit
-g {a,b,g,d,e} Some option, where a = alpha b = beta g = gamma … 目前我正在使用以下代码来初始化我的ArgumentParser:
parser = argparse.ArgumentParser(description="Help line 1\n" +
"Help line 2",
formatter_class=argparse.RawTextHelpFormatter)
Run Code Online (Sandbox Code Playgroud)
添加一些参数后,我得到以下输出:
/usr/bin/python3.6 /data/Poseidon/dev/Python/trident.py -h
usage: trident.py [-h] [--verbose] [--images] --source SOURCE --network
NETWORK
Help line 1
Help line 2
Run Code Online (Sandbox Code Playgroud)
我宁愿在下一行的帮助输出的“使用”部分中没有“网络”参数,而是在同一行。有没有办法告诉argparse给未在参数列表中添加新行?