在这方面,我主要是受到的启发。这是我的闹钟应用程序的一部分:
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument(
'--time',
metavar="HH:MM:SS",
help='time in 24 hour format separated by colon'
)
group.add_argument(
'--show',
ac
我读过一本,它并不能解决我自己的问题。为了举例说明,假设我有一个使用argpase的Python程序,它提供了两个子命令:copy和resume
prog copy src dest # src, dest positional, required
prog resume id # id positional, required
但是,调用"copy“命令的最自然的方法是而不是显式地给出copy子命令,也就是说,我希望:
prog src dest
将执行默认的copy操作,同时仍然保留两个子解析器的优点,每个子解析器处理不同的参数集。argparse包有可能吗?
我创建了这样一个a解析器:
parser = argparse.ArgumentParser(description='someDesc')
parser.add_argument(-a,required=true,choices=[x,y,z])
parser.add_argument( ... )
然而,只有选择"x“而不是"y,z",我想要一个额外的所需的参数。就像。
python test -a x // not fine...needs additional MANDATORY argument b
python tes
我正在使用with解析和几个子解析器。我希望我的程序在args中的任何地方,包括子解析器中,都可以选择详细的内容。
from argparse import ArgumentParser
p = ArgumentParser()
p.add_argument('--verbose', '-v', action='count')
sub = p.add_subparsers()
a = sub.add_parser('a')
print(p.parse_args())
默认情况下,如果用于子解析器,主解析器的选项将引发错误:
$
试图找到这个问题的答案,但在任何地方都找不到。
我正在努力学习本教程:和我理解位置参数和可选参数之间的区别,但是我不理解的是argparse是如何决定什么参数是位置的,什么参数是可选的?
例如,在我从上面链接到的教程中:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", type=int,
help="display a square of a given number")
parser.add_argument
我正在将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.