如何让`help`与`--help`在argparse中表现一致
我想让 help
这个选项的功能和 --help
一样。
附带说明: 我创建了一个程序,它的命令行使用方式和 svn 或 hg 一样。我是通过子解析器实现的。不过我想让这些功能保持一致。所以我希望 help
也能正常工作。
2 个回答
0
看起来你想把 help
定义成另一个子解析器。我觉得你可以把它链接到一个叫 print_help()
的函数,这个函数会复制你标准的 --help
输出。不过我在想,是否有办法直接调用原生的 help()
函数呢。
4
你可以通过以下方法创建一个别名,让 program help
的效果和 program --help
一样。
import argparse
def help(args):
args.parser.print_help()
parser = argparse.ArgumentParser(description='my program')
subparsers = parser.add_subparsers()
p_help = subparsers.add_parser('help')
p_help.set_defaults(func=help, parser=parser)
args = parser.parse_args()
args.func(args)