reading float from binary data file

Peter Hansen peter at engcorp.com
Wed Mar 8 22:23:40 EST 2006


cesco wrote:
> I have a binary file containing 1000 floating point numbers. I want to
> load that file into an array. A way to do it could be the following:
> 
>>>>import array
>>>>data = array.array('f')
>>>>f = open('FileName.bin', 'rb')
>>>>data.fromfile(f, 1000)
> 
> Now I have the following problem: if I don't know how many values the
> file contains and I want to read all the values till the last one what
> shall I do?

Maybe RTFM, and then wrap the .fromfile() call with an appropriate 
exception handler:

'''
fromfile(f, n)
     Read n items (as machine values) from the file object f and append 
them to the end of the array.

If less than n items are available, EOFError is raised, but the items 
that were available are still inserted into the array.
'''

Note the last sentence above.

-Peter




More information about the Python-list mailing list