Remove and Replace Printed items [duplicate] Remove and Replace Printed items [duplicate] python-3.x python-3.x

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.