我有以下测试代码importargparseparser=argparse.ArgumentParser()parser.add_argument("--verbose",default=0,type=int)subparsers=parser.add_subparsers(dest="parser_name")parser_lan=subparsers.add_parser('car')parser_lan.add_argument("--boo")parser_lan.add_argument("--foo")parser_serial=subparsers.add_parser(
我在我的程序中使用Pythonargparse模块作为命令行子命令。我的代码基本上是这样的:importargparseparser=argparse.ArgumentParser()subparsers=parser.add_subparsers(title="subcommands",metavar="")subparser=subparsers.add_parser("this",help="dothis")subparser=subparsers.add_parser("that",help="dothat")parser.parse_args()运行“pythontest.p
我正在使用argparse构建带有子命令的命令:mycommand[GLOBALFLAGS]子命令[FLAGS]我希望全局标志在子命令之前或之后都有效。有没有不涉及重复代码的简洁方法?例如:parser=argparse.ArgumentParser()subparsers=parser.add_subparsers(dest='subparser_name')parser.add_argument('--disable')#Thisflag...sp=subparsers.add_parser('compile')sp.add_argument('zones',nargs='*')s
我正在使用Argparse编写一个命令行实用程序,并添加了一堆sub_parsers(子命令)。在帮助菜单中,它们出现在名为“命令”的组下,我得到了所有可能选项的不错列表。然而,在此列表出现之前,所有相同的命令都会出现在大括号中的组标题下,如下所示:Commands:{foo,bar}foo-foodoesfoobar-bardoesbar我想删除出现在大括号中的多余条目。它只出现在这个被sub_parsers填充的组中。我处理这个问题的代码如下所示:(其中parser是ArgumentParser()实例)subparsers=parser.add_subparsers(title=
我正在使用Argparse编写一个命令行实用程序,并添加了一堆sub_parsers(子命令)。在帮助菜单中,它们出现在名为“命令”的组下,我得到了所有可能选项的不错列表。然而,在此列表出现之前,所有相同的命令都会出现在大括号中的组标题下,如下所示:Commands:{foo,bar}foo-foodoesfoobar-bardoesbar我想删除出现在大括号中的多余条目。它只出现在这个被sub_parsers填充的组中。我处理这个问题的代码如下所示:(其中parser是ArgumentParser()实例)subparsers=parser.add_subparsers(title=
使用python的argparse,如何使子命令成为必需的参数?我想这样做是因为如果未指定子命令,我希望argparse出错。我重写了错误方法来打印帮助。我有3层嵌套的子命令,所以这不是简单地在顶层处理零参数的问题。在下面的例子中,如果这样调用,我会得到:$./simple.py$我希望它做的是让argparse提示未指定所需的子命令:importargparseclassMyArgumentParser(argparse.ArgumentParser):deferror(self,message):self.print_help(sys.stderr)self.exit(0,'%s:
使用python的argparse,如何使子命令成为必需的参数?我想这样做是因为如果未指定子命令,我希望argparse出错。我重写了错误方法来打印帮助。我有3层嵌套的子命令,所以这不是简单地在顶层处理零参数的问题。在下面的例子中,如果这样调用,我会得到:$./simple.py$我希望它做的是让argparse提示未指定所需的子命令:importargparseclassMyArgumentParser(argparse.ArgumentParser):deferror(self,message):self.print_help(sys.stderr)self.exit(0,'%s: