Как передать несколько значений в аргумент argparse?
Есть код:
import requests
import argparse
parser = argparse.ArgumentParser(description='Test get')
parser.add_argument("--ip")
args = parser.parse_args()
r = requests.get("https://api.mcsrvstat.us/ping/"+args.ip)
json = r.json()
print(json['version']['name'])
Как можно сделать так, чтобы в args.ip можно было вводить несколько IP-адресов через пробел или запятую, например: py test.py 127.0.0.1 127.0.0.2, и получить от них ответы?
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Отвечу на вопрос о том как заставить argparse читать несколько значений в одну переменную как список.
Воспользуйтесь параметром nargs='+':
parser.add_argument("--ip", nargs='+', type=str, help='List of IPs', required=True)
По поводу того, как получить ответ от сервиса для нескольких IP - советую задать отдельный SO вопрос.