如何解决如何让我的 argparse 子解析器格式类似于列表而不是一行?
import argparse
def main():
parser = argparse.ArgumentParser("test",description="subparser help test")
commands = parser.add_subparsers(dest="command",title="Commands")
subparser_a = commands.add_parser("parser_a",description="description_of_parser_a")
subparser_a.add_argument("--foo")
subparser_a.add_argument("--bar")
subparser_b = commands.add_parser("parser_b",description="description_of_parser_b")
subparser_b.add_argument("--foo-b")
subparser_b.add_argument("--bar-b")
args = parser.parse_args()
if __name__ == '__main__':
main()
但是当我运行 python test.py --help
时,它显示类似这样的内容
usage: test [-h] {parser_a,parser_b} ...
subparser help test
optional arguments:
-h,--help show this help message and exit
Commands:
{parser_a,parser_b}
但我希望它打印的是这样的
usage: test [-h] {parser_a,--help show this help message and exit
Commands:
parser_a description_of_parser_a
parser_b description_of_parser_b
解决方法
您必须像下面那样更改代码。 description=
-> help=
在 add_parser
import argparse
def main():
...
subparser_a = commands.add_parser("parser_a",help="description_of_parser_a")
...
subparser_b = commands.add_parser("parser_b",help="description_of_parser_b")
...
args = parser.parse_args()
if __name__ == '__main__':
main()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。