Вот мой прототип аргумента функции: ./myfunction.py --poi_type1 loc1 --poi_type2 loc2 --poi_type1 loc3
Чтобы понять контекст, POI (poi_type1 & 2) - это точки интереса различной природы (type1 - это garden, type2 - это статуя, например).Я хотел бы сгенерировать взамен график, который связывает различные типы POI (бизнес-логика не является целью моего запроса).График должен учитывать положение аргумента POI в командной строке, и то, как я построю график, будет зависеть от типа poi_type (1 или 2).
Важно отметить, что пользователь можетукажите столько POI, сколько он хочет, и для каждого POI он должен указать, является ли он poi_type1
или poi_type2
.
. Сначала я начал собирать аргумент, заданный пользователем:
import argparse
parser = argparse.ArgumentParser(description='generate graph', formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument('--poi_type1', nargs=1, action='append', type=check_target)
parser.add_argument('--poi_type2', nargs=1, action='append', type=not_supported)
args = parser.parse_args()
Моя проблема в том, что я не знаю, в каком порядке аргумент предоставляется пользователем, если пользователь предоставляет и poi_type1
, и poi_type2
.
Например:
./myfunction.py --poi_type1 loc1 --poi_type2 loc2 --poi_type1 loc3
Возвращает те же результаты, что и
./myfunction.py --poi_type2 loc1 --poi_type1 loc2 --poi_type1 loc3
Я не знаю, как адаптировать мой скрипт так, чтобы он работал так, как я хочу ... Есть идеи?Спасибо!