Buffering control in python?

Fernando Pérez fperez528 at yahoo.com
Sat Oct 12 22:41:33 EDT 2002


Bengt Richter wrote:

> Yup. Checking with my little watcher makes that easy to verify:
> 
>  >>> from ut.tracewatch import TraceWatch as TW
>  >>> tw = TW()
>  >>> class Proxy(object):
>    [... as above]
> 
>  >>> class AutoFlush(Proxy):
>    [... as above]
> 
>  >>> tw.addwatch('write','#f')
>  >>> tw.on()
>  >>> file = AutoFlush(open("file.txt", "w"))
>  >>> print >> file, "go for it!"
>  --------------------------------------------------------------------
>  File: "<stdin>"
>  Line [scope] C:all, R:eturn eX:cept S:tack N:ew M:od E:quiv U:nbound
>  ---- ------- -------------------------------------------------------
>     2 [write]:           C: write(self=<__main__.AutoFlush object at
>     0x007D6310>, data='go for it!')
>  LOOK MA! I'M FLUSHING! :)
>     5 [write]:           R: write(...) => None
>     2 [write]:           C: write(self=<__main__.AutoFlush object at
>     0x007D6310>, data='\n')
>  LOOK MA! I'M FLUSHING! :)
>     5 [write]:           R: write(...) => None
> 

And this nifty watcher would be found where for us mere mortals, pray tell?

That looks _very_ useful in a number of situations. Care to share it?

Cheers,

f.



More information about the Python-list mailing list