当前我正在使用Python创建一个目录读取器程序。 我使用'argparse'从命令行解析参数。我有以下代码:在python argparse中将“help”移动到不同的参数组中
parser = argparse.ArgumentParser(prog = "LS.py",
usage = "%(prog)s [options] [path1 [path2 [...pathN]]]\nThe paths are optional; if not given . is used.")
group = parser.add_argument_group("Options")
group.add_argument("-path", default = ".", help = argparse.SUPPRESS, metavar = "")
group.add_argument("-m", "--modified", default = False,
help = "show last modified date/time [default: off]",
metavar = "")
group.add_argument("-o ORDER", "--order=ORDER", nargs = 2, default = "name",
help = "order by ('name', 'n', 'modified', 'm', 'size', 's')\n[default: name]",
metavar = "")
group.add_argument("-r", "--recursive", default = False,
help = "recurse into subdirectories [default: off]",
metavar = "")
group.add_argument("-s", "--sizes", default = False,
help = "show sizes [default: off]", metavar = "")
args = parser.parse_args()
return args
当通过以下方式“LS.py -h”它产生以下输出叫做:
usage: LS.py [options] [path1 [path2 [...pathN]]]
The paths are optional; if not given . is used.
optional arguments:
-h, --help show this help message and exit
Options:
-m , --modified show last modified date/time [default: off]
-o ORDER , --order=ORDER
order by ('name', 'n', 'modified', 'm', 'size', 's')
[default: name]
-r , --recursive recurse into subdirectories [default: off]
-s , --sizes show sizes [default: off]
我的问题:是否有移动的默认方式帮助参数进入诸如Options之类的组? 此外,我似乎无法找到一种方法来删除Options参数中的逗号前的空格。理想的输出是:
Usage: ls.py [options] [path1 [path2 [...pathN]]]
The paths are optional; if not given . is used.
Options:
-h, --help show this help message and exit
-m, --modified show last modified date/time [default: off]
-o ORDER, --order=ORDER
order by ('name', 'n', 'modified', 'm', 'size', 's')
[default: name]
-r, --recursive recurse into subdirectories [default: off]
-s, --sizes show sizes [default: off]
如果您使用'action =“help”'而不是'action =“store_true”' – mgilson
Derp,我一定在浏览动作文档时一定错过了它。谢谢! – nneonneo
这回答了我所有的问题,非常感谢。我一直在浏览文档一段时间,似乎无法找到它。 –