#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.