Я пытаюсь добавить опцию опций в argparse
. В настоящее время у меня есть:аргумент опциона опций
group = parser.add_mutually_exclusive_group()
group.add_argument("--md", help="Create xyz file for each ionic step for"
" visualization", action='store_true')
group.add_argument("--force", help="See which atom has maximum force",
action='store_true')
group.add_argument("--opt", help="grep string from file",
nargs=2, metavar=("str", "file"))
parser.add_argument("--xsf", help="Create xsf file for md(default is xyz)"
" visualization", action='store_true')
parser.add_argument("-N", help="Showing first N line",
metavar='integer', type=int)
parser.add_argument("-n", help="Showing last n line",
metavar='integer', type=int)
args = parser.parse_args()
, который дает:
./foo.py --h
usage: foo.py [-h]
[--md | --force | --opt str file]
[--xsf] [-N integer] [-n integer]
Но я хочу --xsf
как подопции для --md
, -N,-n
для --opt
; например
./foo.py --h
usage: foo.py [-h]
[--md [--xsf]| --force | --opt str file [-N integer] [-n integer]]
Но я не знаю, как этого достичь. Может быть, у меня что-то не хватает, но нет такого варианта в argparse doc
Есть ли другой способ получить это?
Если я добавляю xsf в группу, его нельзя использовать с md, они будут взаимно исключающими друг друга. – BaRud