Remove and Replace Printed items [duplicate]
Just use CR to go to beginning of the line.
import timefor x in range (0,5): b = "Loading" + "." * x print (b, end="\r") time.sleep(1)
One way is to use ANSI escape sequences:
import sysimport timefor i in range(10): print("Loading" + "." * i) sys.stdout.write("\033[F") # Cursor up one line time.sleep(1)
Also sometimes useful (for example if you print something shorter than before):
sys.stdout.write("\033[K") # Clear to the end of line
import sysimport timea = 0 for x in range (0,3): a = a + 1 b = ("Loading" + "." * a) # \r prints a carriage return first, so `b` is printed on top of the previous line. sys.stdout.write('\r'+b) time.sleep(0.5)print (a)
Note that you might have to run sys.stdout.flush()
right after sys.stdout.write('\r'+b)
depending on which console you are doing the printing to have the results printed when requested without any buffering.