Я пытаюсь добавить группу параметров, связанных друг с другом, в существующий скрипт, который имеет необязательные аргументы и позиционные аргументы для выбора команды для запуска.
import argparse
parser = argparse.ArgumentParser(prog='test')
parser.add_argument("-opt1", default="A", type=str)
parser.add_argument("-opt2", default="B", type=str)
parser.add_argument("-opt3", default="C", type=str)
subparsers = parser.add_subparsers()
cmd1 = subparsers.add_parser("cmd1", help="run cmd1")
cmd1.add_argument("-cmd1-opt1", default="cmd1-A")
cmd1.add_argument("-cmd1-opt2", default="cmd1-B")
cmd2 = subparsers.add_parser("cmd2", help="run cmd2")
cmd2.add_argument("-cmd2-opt", type=int)
args = parser.parse_args()
print(args)
Например, я хотел бы добавить группу новых дополнительных опций opt4, opt5, opt6, opt7
, которые связаны между собой. Что-то вроде opt5
является допустимой опцией, только когда opt4
имеет какое-либо значение.
Я мог бы добавить все опции по отдельности в качестве необязательных аргументов, но я ищу какой-то лучший способ сделать это, используя нужные мне опции. добавить связаны друг с другом.