如何在 argparse 的帮助消息中包含所有子命令帮助消息?

时间:2021-07-06 05:31:18

标签: python argparse

我希望 --help 生成的 argparse 包含所有子命令的帮助。

如何实现?

1 个答案:

答案 0 :(得分:0)

我已经设法让它工作了,虽然它不是很优雅。

parser = argparse.ArgumentParser(add_help=False)
print_help_fn = parser.print_help
sub_parsers = [
   # define sub-parsers here.
]
def print_help_wrapper():
    print_help_fn()
    for s in sub_parsers:
        print("Subcommand:")
        s.print_help()

parser.print_help = print_help_wrapper

parser.add_argument('-h', '--help', action='help')

有没有更好的方法来处理这个问题?