Martin v. Löwis wrote:
> I'm skeptical:
>
> - If you add getsize, why not getlastchangeddate, getowner, getpermissions?
getowner() etc. work only with file based streams and not with memory
buffers. getsize() works with every concrete class in io.py
> - in general, streams (which really is the interface for file-like
> objects) don't have the notion of "size"; only some do.
I understand that getsize() doesn't make sense for e.g. a socket based
stream. However the implementation of getsize() works with memory
buffers and file descriptors
> - what is the purpose of the f.tell fragment? ie. why could that work
> when fstat doesn't?
The tell(), seek(0,2) is a generic fall back for io instances that
aren't based on a file descriptor. It's required for BytesIO and
StringIO. However I could come up with an implementation for BytesIO
that queries the buffer directly. |