I'd say go right ahead and submit a change to SF (and then after it's reviewed you can check it in yourself :-).
The only reason I can think of why this isn't done yet would be that nobody thought of it. Of course there are other ill-advised combinations, like write followed by read for which stdio doesn't guarantee any result in particular. In Py3K I want to revise the whole I/O stack to be independent from C stdio (except on those platforms where that's the only I/O you have.) --Guido On 1/4/06, Thomas Wouters <[EMAIL PROTECTED]> wrote: > > Twice now, I've been bitten by the 'mixing file-iteration with readline' > issue. (Yeah, twice.. Good thing I don't write anything important in > Python ;) I've also seen a number of newbies bitten by the same thing. The > issue, for those that aren't aware, is that when mixing file-iteration and > readline (or readlines or such), you run the risk of getting data in the > wrong order. This is because file-iteration uses an 8k buffer, while > readline doesn't. It's not really a big deal, once you understand it's not > wise to mix iteration and the readline(s) methods. > > I do wonder, though, why Python doesn't take care to raise an exception when > readline is called with 'stuff' in the iteration-buffer. A cursory look at > the source doesn't reveal any glaring problems. It's a single check, > possibly two, with good locality of reference. Also, raising an exception > when there is stuff in the buffer would only make mixing iteration/readline > an error when you would actually, in fact, lose or mess up data. In other > words, it would only raise exceptions for existing cases that are already > broken. > > Is there something I've missed that makes the check undesireable or > unfeasible? Or should I just assume no on has gotten around to it (or could > be bothered), and just submit a patch? :) > > (Making readline and friends use the same buffer may seem the better > solution to some, but I'm sure there's a whole discussion behind that, about > whether to buffer or not. All non-iteration routines in fileobject.c take > pretty good care not to read too much, and I choose to see that as > explicitly designed that way.) > > Absent-ly y'rs, > -- > Thomas Wouters <[EMAIL PROTECTED]> > > Hi! I'm a .signature virus! copy me into your .signature file to help me > spread! > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/guido%40python.org > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com