[Python-Dev] Decoding incomplete unicode

Bob Ippolito bob at redivi.com
Wed Jul 28 04:20:24 CEST 2004


On Jul 27, 2004, at 9:26 PM, Josiah Carlson wrote:

>
>> - readline() and readlines() have an additional option
>>    for dropping the u"\n".
>
> I'll point out (since no one else has so far) that the reasons for
> keeping the linefeed at the end of lines returned by readline() and
> readlines() are documented here:
> http://docs.python.org/lib/bltin-file-objects.html#foot3271
>
> Specifically it allows one to use the following and have it "do the
> right thing".
>
> while 1:
>     line = obj.readline()
>     if not line:
>         break
>     process(line)
>
> Having the option of readline() and readlines() being ambiguous 
> anywhere
> sounds like a misfeature.  Furthermore, since all other readline and
> readlines calls that do not inherit from StreamReader use the
> unambiguous "always include the line ending", changing StreamReader to
> be different is obviously the wrong thing to do.

While this reasoning makes sense for readline(), it most definitely 
does not for readlines() or __iter__().  unicode objects have a 
splitlines() function with this feature, which is probably what he's 
using in his implementation (I used it in mine), so it's pretty natural 
to expose that option to the external interface.

-bob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3589 bytes
Desc: not available
Url : http://mail.python.org/pipermail/python-dev/attachments/20040727/70120db2/smime-0001.bin


More information about the Python-Dev mailing list