[Python-ideas] file API

Mark Adam dreamingforward at gmail.com
Mon Sep 24 23:49:27 CEST 2012


For some time now, I've wanted to suggest a better abstraction for the
<file> type in Python.  It currently uses an antiquated, low-level
C-style interface for moving around in a file, with methods like
tell() and seek().  But after attributes were introduced to Python, it
seems like it should be re-evaluated.

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
by the more standard and familiar 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

You've now simplified the API by the removal of two obscure legacy
methods (where one has to learn the additional concept of "absolute"
and "relative" addressing) and replaced them with a more basic one
called "position".

Thoughts?

markj



More information about the Python-ideas mailing list