[Numpy-discussion] Py3: numpy.rec.array fails with open file

Charles R Harris charlesr.harris at gmail.com
Wed May 25 22:23:14 EDT 2011


On Wed, May 25, 2011 at 7:29 PM, Christoph Gohlke <cgohlke at uci.edu> wrote:

> Hello,
>
> the following code raises a ValueError on Python 3, but works as
> expected with Python 2:
>
> >>> import sys, numpy
> >>> fd = open(sys.executable, 'rb')
> >>> numpy.rec.array(fd, dtype=[('_', 'b')])
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "C:\Python32\lib\site-packages\numpy\core\records.py", line 799,
> in array
>     raise ValueError("Unknown input type")
> ValueError: Unknown input type
>
>
> The problem seems to be the test for file objects in numpy/compat/py3k.py:
>
>     def isfileobj(f):
>         return isinstance(f, io.FileIO)
>
> If this is updated to include _io.BufferedReader, the type of `fd`,
> numpy.rec.array works with file objects opened in 'rb' mode:
>
>    def isfileobj(f):
>         return isinstance(f, (io.FileIO, io._io.BufferedReader))
>
> Tested with numpy 1.6.0 on Windows.
>
>
Seems reasonable. Can you open a ticket and make a test for this?

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20110525/405a7913/attachment.html>


More information about the NumPy-Discussion mailing list