Próbuję napisać skrypt, który akceptuje wiele źródeł wejściowych i robi coś dla każdego z nich. Coś takiegoUżycie tej samej opcji wiele razy w Argparse Pythona
./my_script.py -i input1_url input1_name input1_other_var -i input2_url input2_name input2_other_var -i input3_url input3_name # notice inputX_other_var is optional
Ale nie mogę dość dowiedzieć się, jak to zrobić przy użyciu argparse, wydaje się, że jest tak skonfigurowany, że każda flaga opcja może być użyta tylko raz. Wiem, jak powiązać wiele argumentów z jedną opcją (nargs = '*' lub nargs = '+'), ale to nadal nie pozwoli mi używać wielokrotnie flagi -i. Jak mam to osiągnąć?
Dla jasności, na końcu chciałbym podać listę ciągów znaków. Więc
[["input1_url", "input1_name", "input1_other"],
["input2_url", "input2_name", "input2_other"],
["input3_url", "input3_name"]]
Dlaczego więc nie skojarzyć wielu argumentów źródła wejściowego z tą pojedynczą opcją? – TigerhawkT3
Ponieważ każde z wielu źródeł wejściowych musi również mieć wiele argumentów łańcuchowych. Chciałbym użyć flagi -i dla każdego z wejść, a każde wejście zawierałoby wszystkie ciągi między kolejnymi flagami -i. Chcę, żeby działało jak ffmpeg, gdzie określasz wejścia z -i –