(forwarding to the list) On 09/24/2012 06:23 PM, Mark Adam wrote: > On Mon, Sep 24, 2012 at 4:49 PM, Dave Angel <d...@davea.name> wrote: >> On 09/24/2012 05:35 PM, zipher wrote: >>> For some time now, I've wanted to suggest a better abstraction for the >>> <file> type in Python. It currently uses an antiquated C-style interface >>> for moving around in a file, with methods like tell() and seek(). But >>> after attributes were introduced to Python, it seems it should be >>> re-addressed. >>> >>> Let file-type have an attribute .pos for position. Now you can get rid of >>> the seek() and tell() methods and manipulate the file pointer more easily >>> with standard arithmetic operations. >>> >>>>>> file.pos = x0ae1 #move file pointer to an absolute address >>>>>> file.pos +=1 #increment the file pointer one byte >>>>>> curr_pos = file.pos #read current file pointer > >> And what approach would you use for positioning relative to >> end-of-file? That's currently done with an optional second parameter to >> seek() method. > > As size is an oft-useful construct, let it (like .name) be part of the > descriptor. Then > >>>> file.pos = file.size - 80 #80 chars from end-of-file > > (Or, one could make slices part of the API...) > > mark >
Well, if one of the goals was to reduce the number of attributes, we're now back to the original number of them. -- DaveA -- http://mail.python.org/mailman/listinfo/python-list