这是适合您的python代码:
def readslice(inputfilename,nx,ny,timeslice): f = open(inputfilename,'rb') f.seek(8*timeslice*nx*ny) field = np.fromfile(f,dtype='float64',count=nx*ny) field = np.reshape(field,(nx,ny)) f.close() return field
在原始代码中,您将文件名作为第一个参数传递给
np.fromfile文件而不是文件对象“f”。因此
np.fromfile文件创建了一个新的
文件对象,而不是使用您想要的对象。这就是为什么
它从文件的开头就一直在读。此外,
f.seek采用
作为参数的字节数,而不是元素数。我把它硬编码到
8以适合您的数据,但如果您愿意,您可以将此设置为常规设置。还有,现场
“readslice”中的参数是多余的。希望这有帮助。



