Python's print function that flushes the buffer when it's called?

prosseek picture prosseek · Oct 9, 2010 · Viewed 8.2k times · Source

Possible Duplicates:
How to flush output of Python print?
unbuffered stdout in python (as in python -u) from within the program

I have the following code to flushing out the output buffer.

print 'return 1'
sys.stdout.flush()

Can I setup the print function so that it automatically flushes the buffer when it's called?

Answer

Ivo van der Wijk picture Ivo van der Wijk · Oct 9, 2010

You can start python in unbuffered mode using the -u flag, e.g.

python -u script.py

or

#!/usr/bin/env python -u

as "shebang" header for your script.