On Mar 9, 9:55 am, John Machin <sjmac...@lexicon.net> wrote: > On Mar 9, 12:09 pm, Larry <larry.cebu...@gmail.com> wrote: > > > > > Friends, > > > I need to read a binary file using a Fortran 77 code to integrate with > > a legacy code.... It looked very much complicated to me for I have no > > knowledge in Fortran. > > > I could read the file with ease using Python, as shown in the > > following. > > > ################### > > from numpy import* #Importing modules > > from struct import unpack > > > f = open('bindata', 'rb') #Opening binary file for reading > > A = zeros(20) #Initializing "empty" array > > > for i in xrange(20): > > data = unpack('f', f.read(4)) # Unpacking 32-bit data, > > C-float > > A[i]+=data > > > ============ > > Sample output: > > > >>> A > > > array([ 239., 309., 298., 280., 286., 250., 190., 200., 226., > > . > > . > > . > > 214., 243., 439., 565., 564., 546., 142., 87., > > 118.]) > > > ###################### > > > As you can see, data values are 4-byte long (float) and byte order is > > little endian (Intel machine). > > > I intend to post this to a fortran users group but if you know, kindly > > give a piece of advice. > > > Thanks to all those who will help. > > Have you tried google("f77 read binary")? > > Not much help with your f77 problem, but you might like to see a less > verbose way of doing it in Python: > > from struct import unpack > f = open('bindata', 'rb') > a_tuple = unpack('<20f', f.read(80)) > > Cheers, > John
Thanks. Gonna try.... -- http://mail.python.org/mailman/listinfo/python-list