我正在将一些代码从 fortran90 转换为 python 2.7,并且无法理解 fortran 代码中 Open、Write 和 Read 函数中的参数,以及在编写代码时需要添加哪些元素Python。
以下是我想理解并转换为 python 的一些 fortran 代码块:
OPEN(1,FILE=TRIM(filenameOut),RECL=2000)
WRITE(1,*) "tAge/yr (u-r) (u-z) fGas Mstars/MstarsOld"
CLOSE(1)
我猜“1”只是为文件名分配一个标签,TRIM 正在删除变量之前或之后的任何空格,python 等价的变量是 filenameOut.strip() 或其他东西。我不确定 RECL 在做什么,以及其他函数的 python 等效项对于这个块是什么。
另一个例子:
OPEN(1,FILE=TRIM(filenameOut),RECL=2000)
WRITE(1,*) "(u-r) prob(u-r)"
DO countInside=1,nColourBins
WRITE(1,*) uMinusrMidpointsArray(countInside),probuMinusrArray(countInside)
CLOSE(1)
由此我猜星号的意思是写入文件的下一行。同样,我还不确定如何在 python 中执行此操作。
读取 fortran 代码的示例:
OPEN(1,FILE=TRIM(filenameBC),RECL=2000)
READ(1,*)
READ(1,*)
READ(1,*)
READ(1,*)
READ(1,*)
READ(1,*)
READ(1,*)
IOEnd=0
DO WHILE(IOEnd>-1)
READ(1,*,IOSTAT=IOEnd) logTime,Mbol,g,uMg,gMr,gMi,gMz
END DO
CLOSE(1)
我知道重复的 READ(1,*) 只是读取文件的前 7 行,但我不确定是否有任何与此相关的 python 等效快捷方式,即从第 8 行或其他内容开始的方法。