我正在将shell脚本转换为Python。
shell脚本支持这样的参数。
Usage: foo [-h] [-v] [COMMAND] [COMMAND_ARG]...
One or more of the following commands may be specified in the same
command line invocation of this script.
Commands:
print Print lines in CSV.
search PATTERN Print only lines that match PATTERN.
我有一个程序,它使用a解析来处理命令行。程序的命令行,因此它的帮助变得上下文敏感。我想使这种帮助反映出这种情况的敏感性。
例如:
prog --mode=1 OPTA OPTB OPTC<br>
prog --mode=2 OPTD OPTE OPTF<br>
prog --mode=1 -h<br>
"In mode 1 you have four options, A,B,C,D"
prog --mode=2 -h<br>
"You mode 2 you have four options, D,E,F,G"
我有以下代码(使用Python 2.7):
# shared command line options, like --version or --verbose
parser_shared = argparse.ArgumentParser(add_help=False)
parser_shared.add_argument('--version', action='store_true')
# the main parser, inherits from `parser_shared`
parser = argparse.ArgumentParser(des
我试图在我的代码中添加参数,并且我可以使以下代码工作:
import argparse
parser = argparse.ArgumentParser()
parser.add_parser('title', help='Top level arg')
subparser = parser.add_subparsers(dest='my_var') # so I can access it later
subcommand_parser = subparser.add_parser('subtitle', help='
我们以下面的例子为例。解析器包含两个参数--输入文件和详细信息。Set_verbosity_level()函数用于控制模块级/全局变量(在我的实际生活中是包级变量)的值为0-4。CheckFile()函数在输入文件中执行测试(在现实生活中取决于类型)。我希望根据详细程度在CheckFile()中打印消息。问题是,argparse在调用Set_verbosity_level()之前调用CheckFile(),因此在CheckFile中,详细级别始终为0/default ... 因此,我的问题是,是否有任何解决方案来强制argparse在评估某些参数之前评估其他参数…… import a