Search code examples
pythonprintingstdoutdefaultflush

Python: Is it possible to make 'print' flush by default?


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.


Solution

  • 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?