使用scipy FortranFi读取二进制fortran文件

2024-05-19 05:06:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个二进制文件,其中的数据用real*4写入,6个变量18次。 但是,由于Fortran结尾填充,文件大小为 18*(4+6*4+4)=576。在

我试了好几种方法,但都解决不了

(一)

sdfdffrom scipy.io import FortranFile
fname='2006.bin'
f = FortranFile(fname, 'r')
print( f.read_reals( dtype='float32' ))

我得到了

^{pr2}$

2)我想这实际上是不对的

f = open(fname, 'rb')
recl = np.fromfile(f, dtype='int64', count=1)
f.seek(8)
field = np.fromfile(f, dtype='float32')
print('Record length=',recl)

数据文件是用以下Fortran代码编写的

INTEGER,PARAMETER :: r_sngl=kind(0.0e0)
REAL(r_sngl) :: wk(6)
OPEN(90,FILE=obsf,FORM='unformatted',ACCESS='sequential')
WRITE(90) wk

样本工作就像

144  42.856 406.811 -0.2191941E-04  0.1000000E-04  0.3363116E-43

Tags: 文件数据np二进制fnamerealprintdtype

热门问题