使用python读取fortran二进制文件

时间:2019-03-17 17:26:20

标签: python python-3.x fortran

我有一个二进制文件,其中包含有关如何在fortran中读取文件的以下说明:

OPEN (UNIT=UNIT_FILE_TXT, FILE="output/file.txt",
     &      FORM='UNFORMATTED',
     &      ACCESS='DIRECT',RECL=400,ERR=100,STATUS='UNKNOWN')
READ (UNIT=UNIT_FILE_TXT, REC= X) 

! loop for measurements in file.txt (binary file)
  DO I=RECENT, RECEXIT
     READ(FILEUNITTXT, REC=I) c1, c2, c3, c4, 
 &                    c4, c5, c6, c7, c8, c9
         ENDDO

我需要改为使用Python读取文件,但是我不知道是否有可能,因为没有为特定列提供dtype信息(或更具体地说,我从相关文本文件中知道c1是I7,c2是I2,但我仅对某些列具有此信息。

我的问题是:上面的fortran指南中提供的信息足以读取文件,而不必花费时间尝试猜测列类型吗?

例如,我尝试过

arr = np.fromfile(inFile,
                  np.dtype([('c1','int32'),
                           ('c2','int32'),
                           ...
                           ('cn','float32')]))

但是显然我对类型的猜测是不正确的,因为这些值肯定是残酷的。

任何帮助/提示将不胜感激!

0 个答案:

没有答案