Python argparse列出定义的解析器的所有可能命令
有没有一种方法可以列出或生成可以为使用argparse定义的解析器执行的所有可能的有效命令组合? 如果argparse无法实现此功能,是否有人知道其他具有此功能的解析器 例如,如果我定义了解析器:Python argparse列出定义的解析器的所有可能命令,python,argparse,command-line-arguments,Python,Argparse,Command Line Arguments,有没有一种方法可以列出或生成可以为使用argparse定义的解析器执行的所有可能的有效命令组合? 如果argparse无法实现此功能,是否有人知道其他具有此功能的解析器 例如,如果我定义了解析器: parser = argparse.ArgumentParser(prog='myProg', usage='%(prog)s [options]') parser.add_argument('--foo1', help='foo help') parser.add_argument('--foo2'
parser = argparse.ArgumentParser(prog='myProg', usage='%(prog)s [options]')
parser.add_argument('--foo1', help='foo help')
parser.add_argument('--foo2', help='foo help')
是否有一个命令/包可以接受此解析器并生成所有可能的命令组合:
myProg --foo1 test --foo2 test
myProg --foo1 test
myProg --foo2 test
使用您的
解析器
我得到:
In [34]: parser.print_usage()
usage: myProg [options]
这是因为您指定了:usage='%(prog)s[options]'
。这给了我:
In [38]: parser.print_usage()
usage: myProg [-h] [--foo1 FOO1] [--foo2 FOO2]
根据该行中的信息,我可以列出可能的输入
myProg -h
myProg --foo1 FOO1
myProg --foo2 FOO2
etc
该使用行是根据解析器中的信息创建的。因此,理论上,我们可以编写一个函数,它接受相同的信息并生成像我这样的行。但是没有,在argparse
中没有这样的函数。据我所知,Python的标准解析器包中都没有
你为什么需要这个显示器 你要找的具体例子是什么?你能发布一个例子吗?谢谢你的回复,我只是需要它来查看所有可能命令的所有输出,我想可能有一个内置的方法可以让你列出所有命令。但是你是对的,我可以很容易地创建一个函数来自己实现:)。