codecs.EncodedFile

Neil Cerutti horpner at yahoo.com
Thu Oct 19 03:28:19 CEST 2006


On 2006-10-19, Leo Kislov <Leo.Kislov at gmail.com> wrote:
> Neil Cerutti wrote:
>> It turns out to be troublesome for my case because the
>> EncodedFile object translates calls to readline into calls to
>> read.
>>
>> I believe it ought to raise a NotImplemented exception when
>> readline is called.
>>
>> As it is it silently causes interactive applications to
>> apparently hang forever, and breaks the line-buffering
>> expectation of non-interactive applications.
>
> Does it work if stdin is a pipe? If it works then raising
> NotImplemented doesn't make sense.

You're right, it does work in that case. Excellent! So my second
speculation about it breaking non-interactive applications was
false. I should have peeked at the code before babbling.  Sorry
about that. That it might be using an internal buffer never
occurred to me.

>> If raising the exception is too much to ask, then at least it
>> should be documented better.
>
> Improving documentation is always a good idea. Meanwhile see my
> solution how to make readline method work:
> http://groups.google.com/group/comp.lang.python/msg/f1267dc612314657

Thanks for that solution. That'll do nicely.

The moral I'm discovering is: Don't try to write an interactive
application in Python that uses stdin and stdout unless it's
strictly a toy program. 

--
Neil Cerutti



More information about the Python-list mailing list