<p>我试图读取一个二进制文件,该文件由几个浮点数矩阵组成,用单个整数隔开。Matlab中实现这一点的代码如下:</p>
<pre><code>fid1=fopen(fname1,'r');
for i=1:xx
Rstart= fread(fid1,1,'int32'); #read blank at the begining
ZZ1 = fread(fid1,[Nx Ny],'real*4'); #read z
Rend = fread(fid1,1,'int32'); #read blank at the end
end
</code></pre>
<p>如您所见,每个矩阵大小是Nx乘以Ny。Rstart和Rend只是虚拟值。ZZ1是我感兴趣的矩阵。在</p>
<p>我尝试在python中执行相同的操作,执行以下操作:</p>
^{pr2}$
<p>然后,我要迭代读取后面的矩阵,但是函数<strong>np.fromfile文件</strong>不在文件中保留指针。在</p>
<p>另一个选择:</p>
<pre><code>with open(fname1,'r') as f:
ZZ1=np.memmap(f, dtype='float32', mode='r', offset = 4,shape=(Ny1,Nx1))
plt.pcolor(ZZ1)
</code></pre>
<p>这对第一个数组很好,但不读取下一个矩阵。你知道我怎么做吗?在</p>
<p>我找过类似的问题,但没有找到合适的答案。在</p>
<p>谢谢</p>