Reputation: 8567
The print
function in Python 3 may receive a boolean value to whether flush immediately or not:
print("foobar", flush=True)
I wish to have the print
function flush by default for everything it prints, is it possible? Work-around, ad-hoc settings, whatever.
Upvotes: 3
Views: 388
Reputation: 36450
For me this does looks like task for functools.partial, but I am not sure if it would work in this case, so can you please try following: add at begin of your file
import functools
print = functools.partial(print, flush=True)
and test if it does what you want?
Upvotes: 3
Reputation: 1411
You can run Python in unbuffered mode with:
python -u
Or set the environment variable
PYTHONUNBUFFERED=TRUE
Upvotes: 5