Python – 删除和replace打印的项目

[使用Python 3.2]我想知道是否有可能删除您在Python中打印的项目,而不是从python gui,但从命令propt。 例如

a = 0 for x in range (0,3): a = a + 1 b = ("Loading" + "." * a) print (a) 

所以它打印

 >>>Loading >>>Loading. >>>Loading.. >>>Loading... 

但是,我的问题是我想把这一切都放在一条线上,而当它出现其他问题的时候,它就会自动删除它。 所以,而不是去“加载”,“加载”,“Loa ….我想它得到”加载。“,然后它删除线上的东西,并用”加载..“取代它,然后删除“正在加载…”并用“正在加载…”replace它(在同一行上),它很难描述。

PS我试图使用Backspace字符,但它似乎并没有工作(“\ B”)

谢谢

只需使用CR即可开始行。

 import time for x in range (0,5): b = "Loading" + "." * x print (b, end="\r") time.sleep(1) 

一种方法是使用ANSI转义序列 :

 import sys import time for i in range(10): print("Loading" + "." * i) sys.stdout.write("\033[F") # Cursor up one line time.sleep(1) 

有时也是有用的(例如,如果你打印的东西比以前更短):

 sys.stdout.write("\033[K") # Clear to the end of line 
 import sys import time a = 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)