On Sep 4, 12:03 pm, Fredrik Lundh <[EMAIL PROTECTED]> 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":
>     a.byteswap()
>
> </F>

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.
Thanks again!
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to