Я пытаюсь вызвать исполняемый файл Фортрана из Python. Я использую вызов подпроцесса. Однако существует проблема с использованием исполняемого файла Fortran. Аргументы принимаются только в определенном порядке.
./analyze --arg1 a --arg2 b
выполняется с ошибкой, но
./analyze --arg1 b --arg2 a
выполняется правильно
Поскольку я не написал код на Фортране, изменить его невозможно. Я попытался написать скрипт на python, который пытается сделать это так
try:
subprocess.call(["/path/to/dir/analyze","--arg1",a,"--arg2",b])
except:
subprocess.call(["/path/to/dir/analyze","--arg1",b,"--arg2",a])
Однако, если первое выполнение двоичного файла Фортрана приводит к ошибке, он выходит из оболочки и не возвращает управление обратно в python. Есть ли лучший способ добиться этого?