[Numpy-discussion] "ValueError: total size of new array must be unchanged" only on Windows

Chris Barker chris.barker@noaa....
Mon Feb 6 10:41:19 CST 2012

On Sun, Feb 5, 2012 at 10:41 AM, Paolo <p.zaffino@yahoo.it> wrote:

>  I solved using 'rb' instead of 'r' option in the open file task.
> that would do it, if it's binary data, but you might as well so it

> matrix="".join(f.readlines())
> readlines is giving you a list of the data, as separated by newline
charactors ("\n") -- it was broken on Windows, because opening the file in
text mode translated Windows newlines ("\r\n") to *nix style ones --
opening it in binary fixed that, but why use readlines at all? That's for
text -- use read. However, even better is to use fromfile(), which creates
an array form binary data in a file without puttin git in a string, first:

>  matrix = np.fromfile(f, dtype=np.int16)

by the way -- be careful of endian issues here -- if you are moving data
among different machines. You could specify the endian-ness, for instance:

dt = numpy.dtype('<i2')

for a 16 bit little-endian integer.




Christopher Barker, Ph.D.

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20120206/2b3483d7/attachment.html 

More information about the NumPy-Discussion mailing list