Я пытаюсь научиться argparse для того, чтобы использовать его в моей программе, синтаксис должен быть таким:Пример Python argparse?
-a --aLong <String> <String>
-b --bLong <String> <String> <Integer>
-c --cLong <String>
-h --help
У меня есть этот код:
#!/usr/bin/env python
#coding: utf-8
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Lorem Ipsum')
parser.add_argument('-a','--aLong', help='Lorem Ipsum', required=False)
parser.add_argument('-b','--bLong', help='Lorem Ipsum', required=False)
parser.add_argument('-c','--cLong', help='Lorem Ipsum', required=False)
parser.add_argument('-h','--help', help='Lorem Ipsum', required=False)
parser.parse_args()
Вопрос заключается в том, что я читал в официальном документе, видел видеоролики YouTube и т. д., но я не мог понять, как определить количество «под-аргументов» в «главном аргументе»?
Пример: myApp.py -b Foobar 9000
, как я могу установить, что -b
должен иметь два «суб-аргументы», и как я могу получить значения, Foobar
и 9000
?
И еще сомнения, я знаю, что могу установить аргумент быть required
или нет, но я хотел, чтобы моя программа выполняется только при прохождении по меньшей мере, один аргумент, любой из четырех упоминается.
Возможно, это глупый вопрос, но, к сожалению, я не могу это понять, и, надеюсь, здесь есть кто-то с «учительскими способностями», чтобы объяснить это.
Вы должны быть в состоянии добиться того, что вы упомянули, используя аргумент группы - http://docs.python.org/dev/library/argparse.html#argument-groups. – Danstahr
'arguments-groups' не поможет. Они влияют на дисплей 'help', но не влияют на разбор. Тестирование после синтаксического анализа, как FMc, является способом обеспечения одного из трех аргументов. Взаимозависимые группы могут использоваться для предотвращения использования более 1 группы, но OP хочет «по крайней мере один». – hpaulj