我正在尝试从python调用Fortran可执行文件。我正在使用子流程调用。但是,使用Fortran可执行文件存在问题。它仅按特定顺序接受参数。
SELECT B.PROD_DATE,B.SHIFT,SUM(B.REJECTS) AS REJECTS
FROM REJECTS B
LEFT OUTER JOIN HIST_ILLUM_PART C ON B.HIST_ILLUM_PART_ID = C.ID
LEFT OUTER JOIN HIST_ILLUM_RT A ON A.ID = C.HIST_ILLUM_RT_ID
WHERE
B. REJECT_CODE NOT in ('START','SETUP','QC')
AND B.PROD_DATE >= SYSDATE - 8
GROUP BY B.PROD_DATE,B.SHIFT
ORDER BY SHIFT, PROD_DATE
执行时出错,但是
./analyze --arg1 a --arg2 b
正确执行
由于我尚未编写Fortran代码,因此无法对其进行修改。我尝试编写一个以这种方式尝试两者的python脚本
./analyze --arg1 b --arg2 a
但是,如果第一次执行Fortran二进制文件导致错误,则它会退出外壳程序,并且不会将控制权返回给python。有没有更好的方法来实现这一目标?