M.-A. Lemburg <mal <at> egenix.com> writes:
> > What I don't understand is why the io layer tries to reinvent> the wheel here instead of just using the codec's .readline()> method - which *does* use .splitlines() and has full support> for all Unicode line break characters (including the CRLF> combination).
As for the original Python implementation, the goal was probably to start from a
clean sheet. Besides, the new API has seek() and tell() as well. But I'm not
really qualified to say more -- I didn't participate in its design.
As for the C implementation, it had to be written from scratch anyway --
codecs.open() is pure Python and too slow. Deferring to str.splitlines() would
still have been possible but a bit wasteful since in C you can use buffers
directly.
(and, besides, when writing the C implementation we were concerned with exact
compatibility with the Python version -- including line break semantics)
Regards
Antoine.
Recent Messages in this Thread |
|
Dirkjan Ochtman |
Aug 03, 2009 10:41 am |
|
Nick Coghlan |
Aug 04, 2009 09:20 am |
|
Mark Hammond |
Aug 04, 2009 11:43 pm |
|
Neil Hodgson |
Aug 05, 2009 12:44 am |
|
"Martin v. Löwis" |
Aug 05, 2009 07:35 am |
|
Mark Hammond |
Aug 05, 2009 07:44 am |
|
"Martin v. Löwis" |
Aug 05, 2009 08:09 am |
|
Paul Moore |
Aug 05, 2009 10:04 am |
|
Dirkjan Ochtman |
Aug 05, 2009 10:14 am |
|
Mark Hammond |
Aug 05, 2009 11:22 am |
|
John Arbash Meinel |
Aug 05, 2009 02:58 pm |
|
"Martin v. Löwis" |
Aug 05, 2009 06:22 pm |
|
Mark Hammond |
Aug 05, 2009 11:19 am |
|
Dirkjan Ochtman |
Aug 05, 2009 11:28 am |
|
Mark Hammond |
Aug 05, 2009 11:46 am |
|
Glenn Linderman |
Aug 05, 2009 05:43 pm |
|
Paul Moore |
Aug 05, 2009 04:24 pm |
|
Neil Hodgson |
Aug 05, 2009 08:25 am |
|
"Martin v. Löwis" |
Aug 05, 2009 08:41 am |
|
Neil Hodgson |
Aug 05, 2009 09:09 am |
|
Georg Brandl |
Aug 05, 2009 07:43 pm |
|
"Martin v. Löwis" |
Aug 05, 2009 08:13 pm |
|
Georg Brandl |
Aug 05, 2009 08:18 pm |
|
Ben Finney |
Aug 05, 2009 05:56 am |
|
Mark Hammond |
Aug 05, 2009 06:08 am |
|
Ben Finney |
Aug 05, 2009 06:50 am |
|
Mark Hammond |
Aug 05, 2009 07:31 am |
|
Ben Finney |
Aug 05, 2009 08:00 am |
|
Mark Hammond |
Aug 05, 2009 08:09 am |
|
Ben Finney |
Aug 05, 2009 09:42 am |
|
"Martin v. Löwis" |
Aug 05, 2009 08:12 am |
|
Stephen J. Turnbull |
Aug 05, 2009 02:28 pm |
|
Georg Brandl |
Aug 05, 2009 07:56 pm |
|
Mark Hammond |
Aug 06, 2009 12:34 am |
|
Stephen J. Turnbull |
Aug 06, 2009 06:00 am |
|
"Martin v. Löwis" |
Aug 06, 2009 06:40 am |
|
Stephen J. Turnbull |
Aug 06, 2009 07:12 am |
|
"Martin v. Löwis" |
Aug 05, 2009 07:45 am |
|
Dj Gilcrease |
Aug 05, 2009 06:02 am |
|
Dirkjan Ochtman |
Aug 05, 2009 08:25 am |
|
"Martin v. Löwis" |
Aug 05, 2009 08:51 am |
|
Dirkjan Ochtman |
Aug 05, 2009 09:04 am |
|
"Martin v. Löwis" |
Aug 05, 2009 09:12 am |
|
Mark Hammond |
Aug 05, 2009 09:02 am |
|
Dirkjan Ochtman |
Aug 05, 2009 09:09 am |
|
"Martin v. Löwis" |
Aug 05, 2009 09:16 am |
|
Mark Hammond |
Aug 05, 2009 09:17 am |
|
Nick Coghlan |
Aug 05, 2009 12:50 pm |
|
MRAB |
Aug 05, 2009 01:35 pm |
|
Dirkjan Ochtman |
Aug 05, 2009 01:37 pm |
|
Nick Coghlan |
Aug 05, 2009 02:12 pm |
|
Oleg Broytmann |
Aug 05, 2009 01:50 pm |
|
Oleg Broytmann |
Aug 05, 2009 01:57 pm |
|
Stephen J. Turnbull |
Aug 05, 2009 03:34 pm |
|
"Martin v. Löwis" |
Aug 05, 2009 06:37 pm |
|
Stephen J. Turnbull |
Aug 06, 2009 05:00 am |
|
"Martin v. Löwis" |
Aug 06, 2009 05:48 am |
|
Neil Hodgson |
Aug 06, 2009 10:10 pm |
|
M.-A. Lemburg |
Aug 07, 2009 08:31 am |
|
Antoine Pitrou |
Aug 07, 2009 12:12 pm |
|
M.-A. Lemburg |
Aug 07, 2009 12:48 pm |
|
Neil Hodgson |
Aug 05, 2009 10:22 pm |
|
M.-A. Lemburg |
Aug 06, 2009 08:31 am |
|
Antoine Pitrou |
Aug 06, 2009 08:51 am |
|
Nick Coghlan |
Aug 06, 2009 10:19 am |
|
M.-A. Lemburg |
Aug 06, 2009 10:40 am |
|
M.-A. Lemburg |
Aug 06, 2009 10:46 am |
[Python-Dev] PEP 385: the eol-type issue |
Antoine Pitrou |
Aug 06, 2009 11:01 am |
|
M.-A. Lemburg |
Aug 06, 2009 11:34 am |
|
Antoine Pitrou |
Aug 06, 2009 11:42 am |
|
Dirkjan Ochtman |
Aug 05, 2009 02:04 pm |