Я пытаюсь написать сценарий, который принимает несколько источников ввода и что-то делает для каждого. Что-то вроде этогоИспользуя ту же опцию несколько раз в Argparse Python
./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
Но я не могу вполне понять, как это сделать с помощью argparse, кажется, что он настроен таким образом, что каждый флаг опции может быть использован только один раз. Я знаю, как связать несколько аргументов с одним параметром (nargs = '*' или nargs = '+'), но это все равно не позволит мне использовать флаг -i несколько раз. Как я могу это сделать.
Просто, чтобы быть ясным, в конце я хотел бы получить список списков строк. Так
[["input1_url", "input1_name", "input1_other"],
["input2_url", "input2_name", "input2_other"],
["input3_url", "input3_name"]]
Так почему бы не связать несколько аргументов источника ввода с этой единственной опцией? – TigerhawkT3
Поскольку каждый из нескольких источников ввода также должен иметь несколько аргументов строки. Я бы хотел использовать флаг -i для каждого из входов, и каждый вход будет содержать все строки между последовательными флагами -i. Я хочу, чтобы он работал как ffmpeg, где вы указываете входные данные с -i –