Intercepting printed strings
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Fri Sep 19 05:21:56 EDT 2008
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.
--
Gabriel Genellina
More information about the Python-list
mailing list