[NumPy-Tickets] [NumPy] #2090: `npy_PyFile_Dup` should check file object subclass

NumPy Trac numpy-tickets@scipy....
Thu Mar 22 14:59:13 CDT 2012


#2090: `npy_PyFile_Dup` should check file object subclass
--------------------------+-------------------------------------------------
 Reporter:  pv            |       Owner:  somebody   
     Type:  defect        |      Status:  new        
 Priority:  normal        |   Milestone:  Unscheduled
Component:  numpy.core    |     Version:  1.6.1      
 Keywords:  py3 fromfile  |  
--------------------------+-------------------------------------------------
 Consider this on Python 3:
 {{{
 import gzip
 import numpy as np
 f = gzip.open('foo.gz', 'wb')
 f.write(b"1 2 3")
 f.close()
 f = gzip.open('foo.gz', 'rb')
 print(np.fromfile(f, sep=' '))
 # -> [-1.]
 }}}
 On Python 2 this fails with an IOError.

 The problem here is that `fromfile` seems to read the compressed stream.
 This is probably a bug in Python 3 --- `PyObject_AsFileDescriptor` when
 called on a `GzipFile` object does not fail (although there is no OS level
 file handle corresponding to the uncompressed stream!). As a workaround,
 `npy_PyFile_Dup` should probably check that the object passed in inherits
 from a suitable subclass in the io object hierarchy.

-- 
Ticket URL: <http://projects.scipy.org/numpy/ticket/2090>
NumPy <http://projects.scipy.org/numpy>
My example project


More information about the NumPy-Tickets mailing list