Моя цель - задать вопрос пользователю с помощью argparse (CLI), а затем сохранить ввод как строку так же, как и следующее:
marker = input("Name of marker: ")
Location = input("Name of location: ")
Я не уверен, как это сделать, но вот что я сейчас имею:
parser = argparse.ArgumentParser(description = 'Collect Information')
parser.add_argument('marker', help = 'Name of marker')
parser.add_argument('location', help = 'Name of location')
args = parser.parse_args()
Все, что у вас есть, в порядке; вам просто нужно знать, где искать аргументы.
parser = argparse.ArgumentParser(description='Collect Information')
parser.add_argument('marker', help='Name of marker')
parser.add_argument('location', help='Name of location')
args = parser.parse_args()
print("Your marker is {}".format(args.marker))
print("Its location is {}".format(args.location))
Как правило, возвращаемое значение parse_args
имеет атрибут для каждого аргумента, имя которого взято из имени аргумента.
Если вы действительно уверены, что хотите это сделать, используя argparse
, то у вас уже есть большая часть его:
import argparse
parser = argparse.ArgumentParser(description = 'Collect Information')
parser.add_argument('-m', '--marker', dest='marker', type=str, help = 'Name of marker', required=True) # The required argument is optional here and defaults to False
parser.add_argument('-l', '--location', dest='location', type=str, help = 'Name of location', required=True)
args = parser.parse_args()
marker = args.marker
location = args.location
Однако обратите внимание, что help
сообщение будет отображаться только в том случае, если пользователь вводит команду: python name_of_your_script.py --help
.
При вызове вашего скрипта, подобного этому python script.py marker value
вы можете получить доступ к этому value
в своем скрипте, вызвав location = args.marker
print(args)
чтобы увидеть, что анализатор проанализировал.argparse
не предназначен для интерактивного ввода. Он анализирует ввод, предоставленный в командной строке.