Intercepting printed strings

Robert Dailey rcdailey at gmail.com
Fri Sep 19 09:37:00 EDT 2008


On Fri, Sep 19, 2008 at 4:21 AM, Gabriel Genellina
<gagsl-py2 at yahoo.com.ar>wrote:

> En Thu, 18 Sep 2008 19:24:26 -0300, Robert Dailey <rcdailey at gmail.com>
> escribió:
>
>
>  I'm currently using Python 3.0 b3 and I'm curious as to how I can go about
>> intercepting things send to print() for some intermediate processing
>> before
>> they're actually sent to sys.stdout. Right now I've thought of the
>> following:
>>
>> Replace sys.stdout with a class named PrintStream. PrintStream is defined
>> as
>> follows:
>>
>> class PrintStream:
>>    def write( self, message ):
>>        sys.__stdout__.write( '\t{0}'.format( message ) )
>>
>> Will this work? Basically I want to add a tab character in front of every
>> message printed. Thanks.
>>
>
> Why don't you try it yourself?
> You may replace builtins.print with your own function too. It's not exactly
> the same thing, but given your request "intercepting things send to print()
> before they're sent to sys.stdout" it may be more adequate.


I did try the code I posted and it doesn't work.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20080919/1a06e5b3/attachment-0001.html>


More information about the Python-list mailing list