我在python中编写了一段代码,它使用了a解析模块,使它更容易使用。
我可以以标志的形式添加参数,如:
parser.add_argument('-u', '--url', dest='url', help='type in url')但是,就像在gobuster中一样,当您使用帮助标志(-h)时,您也可以看到您也可以传递命令(如dir、fuzz等)。
gobuster dir --help如何做到这一点?我可以通过以下方式不带任何论据地制作旗子:
parser.add_argument('R', action='store_true', help='allow recursion')简而言之,我试图了解如何分别定义命令,以便它们也显示在“帮助”部分的命令下,而不是在可选参数下。我还试图了解如何为每个命令创建一个单独的帮助部分。
发布于 2021-12-14 06:39:47
可以通过带有单独的帮助消息和父参数的子解析器添加它。
arg_parser.add_argument('--version', action='version', version='%(prog)s 1.0')
subparsers = arg_parser.add_subparsers(title='subcommands',dest='subcommandsarg',help='Program parser for subcommands')
parser1 = argparse.ArgumentParser(add_help=False)
parser1.add_argument('-a','--arg1', dest='module',required=False,help='Mod Name' ,default='all')
subparsers.add_parser('parser1',parents=[parser1],help="Help text for parser1")
parser2 = argparse.ArgumentParser(add_help=False)
parser2.add_argument('-b','--arg2', dest='module',required=False,help='Mod Name' ,default='all')
subparsers.add_parser('parser2',parents=[parser2],help="Gets the configuration of mods")
options = arg_parser.parse_args()输出
#python test.py -h
usage: program [-h] [--version] {parser1,parser2} ...
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
subcommands:
{parser1,parser2} Program parser for subcommands
parser1 Help text for parser1
parser2 Gets the configuration of mods
#python test.py parser1 -h
usage: program parser1 [-h] [-a MODULE]
optional arguments:
-h, --help show this help message and exit
-a MODULE, --arg1 MODULE
Mod Name
#python test.py parser2 -h
usage: program parser2 [-h] [-b MODULE]
optional arguments:
-h, --help show this help message and exit
-b MODULE, --arg2 MODULE
Mod Namehttps://stackoverflow.com/questions/70321904
复制相似问题