Read Binary data
jinbow at gmail.com
Thu Sep 4 18:30:46 CEST 2008
On Sep 4, 12:03 pm, Fredrik Lundh <fred... at pythonware.com> wrote:
> "Mars creature" wrote:
> > I am trying to read a binary file created by the following matlab
> > command:
> > fid=fopen('a.bin','w','b'); fwrite(fid,a,'real*8'); fclose(fid);, and
> > wondering how to do it in Python. I googled it but still get
> > confused.
> > 'b' in fopen is for 'big-endian', 'real*8' in fwrite is for 64bit
> > float.
> f = open("a.bin", "rb") # read binary data
> s = f.read() # read all bytes into a string
> import array, sys
> a = array.array("f", s) # "f" for float
> if sys.byteorder != "big":
Thanks Fredrik! I appreciate it!
The only thing is that a = array.array("f", s) should be a =
array.array("d", s) as the data is double precision.
More information about the Python-list