到目前为止,我正在打开一个扩展名为 .txt 的文件并在其上运行 Fortran 代码。但是,如果我希望程序在具有各种扩展名的文件夹中的所有文件上运行。我该怎么做?
最佳答案
如果您无法使用 FORTRAN77,一种可能的解决方案是从标准输入读取输入文件名并相应地打开该文件:
character(len=9999) inputFile
read(unit=5,fmt=*)inputFile
open(unit=21,file=trim(inputFile))
然后,通过 shell 脚本循环在所有文件上执行您的程序:
for file in *;do
echo $file | myFortranProgram
done
如果您有更现代的编译器,则可以使用 Fortran 2003 功能 GET_COMMAND_ARGUMENT
:
character(len=9999) :: inputFile
call GET_COMMAND_ARGUMENT(1,VALUE=inputFile)
open(unit=21,file=trim(inputFile))
然后如上所述通过循环执行您的程序:
for file in *;do
./myFortranProgram $file
done
请记住,在循环文件时,您有责任确保您的 Fortran 程序能够处理这些文件并且能够处理异常,例如目录或一些其他文件扩展名,或相应地从 shell 循环特定文件。
关于fortran - 如何对文件夹中的所有文件运行 FORTRAN 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11889155/