【发布时间】:2013-04-23 20:44:45
【问题描述】:
我正在使用 Fortran 对拆分为多个文件的庞大数据集进行计算。文件的名称是:
maltoLyo12per-reimage-set1.traj
maltoLyo12per-reimage-set2.traj
maltoLyo12per-reimage-set3.traj
我编写的计算代码如下:
fileLoop: do j = 31, 34
OPEN(unit=31,status='old',file=fileplace//'maltoLyo12per-reimage-set1.traj')
OPEN(unit=32,status='old',file=fileplace//'maltoLyo12per-reimage-set2.traj')
OPEN(unit=33,status='old',file=fileplace//'maltoLyo12per-reimage-set3.traj')
OPEN(unit=34,status='old',file=fileplace//'maltoLyo12per-reimage-set4.traj')
... operation....
close (j)
end do fileLoop
在运行期间,我希望代码一次打开每个文件并在完成计算后关闭它们。但是上面的代码会一次打开所有文件,计算完成后一个接一个地关闭。
所以我尝试修改如下代码:
fileLoop: do j = 31, 34
OPEN(unit=j,status='old',file=fileplace//'maltoLyo12per-reimage-set1.traj')
close (j)
end do fileLoop
但是在这里我遇到了文件名的问题。每次循环运行时,文件名都不会因为文件名中的短语“set1”而改变。我希望文件名中的数字更改为 set1、set2、set3 等,随后文件单元编号为 31、32、33、34 等。
【问题讨论】:
-
您似乎会对这个问题感兴趣:stackoverflow.com/questions/1262695/…。