Остановка argparse затем продолжить

#python #python-3.x #argparse

#python #python-3.x #argparse

Вопрос:

Как я могу добавить разные argparse в разные моменты кода?

 parser = argparse.ArgumentParser()

parser.add_argument("FirstWord")
args = parser.parse_args()
print(args.FirstWord)

if args.FirstWord == "hello":
    parser = argparse.ArgumentParser()
    parser.add_argument("n")
    args = parser.parse_args()
    
    print(args.n)
  

Когда я выполняю это подобным образом через CMD и позволяю оператору if быть true, он просто снова выводит мне привет.
Для понимания я хочу что-то argparse, и если true, я хочу сначала напечатать то, что я argparsed, а затем взять другое слово от меня.

Комментарии:

1. Звучит как работа для argparse подсобников . У вас есть какой-то конкретный набор подкоманд?

2. Уверен, что вы не совсем понятны… Вы читали о nargs ?

3. Вы можете использовать parse_known_args для анализа хорошо известных аргументов и возврата оставшихся аргументов для передачи другому анализатору аргументов. Но без дополнительного контекста это звучит как предполагаемый вариант использования для подпараметров.

4. Что вы имеете в виду под «возьми от меня еще одно слово»? Через input или командную строку? argparse обрабатывает sys.argv список, а не интерактивный пользовательский ввод. Вы можете запустить несколько анализаторов в скрипте, но все они будут анализировать один и тот же ввод.

5. Я хочу arparse «вариант» в виде строки, затем он должен напечатать мне этот «вариант», а затем я хочу argparse другой вариант после печати. Все через командную строку! Итак, argparse -> что-то выводится в командную строку -> затем снова argparse.