non OO behaviour of file

Robin Becker robin at reportlab.com
Wed Jun 15 11:38:32 EDT 2005


Michael Hoffman wrote:
.....
> 
> Well, you could use python -u:
> 

unfortunately this is in a detached process and I am just reopening stdout
as an ordinary file so another process can do tail -F on it. I imagine ther 
ought to be an os dependant way to set the file as unbuffered, but can't 
remember/find out what it ought to be.

> """-u     Force  stdin,  stdout  and stderr to be totally unbuffered. 
> On systems where it matters, also put stdin, stdout and stderr in binary 
>   mode. Note that there is internal buffering in xreadlines(), 
> readlines() and file-object iterators  ("for  line  in sys.stdin") which 
>   is not influenced by this option.  To work around this, you will want 
> to use "sys.stdin.readline()" inside a "while 1:" loop."""
> 
> Within pure Python there's not a better way that I know of. I keep a 
> slightly-more generalized Surrogate class around to deal with this 
> pattern, and then my LineFlusherFile would be a subclass of that. But 
> it's the same thing, really.


-- 
Robin Becker




More information about the Python-list mailing list