Skip to content Skip to sidebar Skip to footer

Having Trouble With Time.sleep

When I run, for example: print('[',end=' ') time.sleep(1) print('=',end=' ') time.sleep(1) print('=',end=' ') time.sleep(1) print('=',end=' ') time.sleep(1) print('=',end=' ') time

Solution 1:

Try flushing stdout after each print:

import sys

print("=",end=" ")
sys.stdout.flush()

Solution 2:

Actually, a progress bar belongs to sys.stderr, which is (very conveniently and not coincidentally at all) not buffered. So I suggest you:

print("=", end=" ", file=sys.stderr)

instead.

PS a synopsis of the standard input, output and error streams in POSIX-conformant operating systems can be found in Wikipedia: Standard streams. In a few words: stdin is the input to a process; stdout is the useful output of a process, the results; stderr is for warnings, errors and out-of-band (e.g. progress bars) output.

Solution 3:

Solution 4:

You need to flush stdout using sys.stdout.flush() every time you want to write the updates.

Post a Comment for "Having Trouble With Time.sleep"