I completely agree that file/socket output should be left alone. Flushing char by char to either is a bit insane. The two interactive to screen use cases I can think of are text progress meters, mentioned by Anatoly, such as :
Working .... (1 dot printed at intervals)
and timed text like
import time
for c in 'Similated 10 cps teletype output':
print(c,end='')
time.sleep(.1)
print()
which works fine from IDLE and whose non-functioning when started otherwise would puzzle any beginner and many beyond.