删除并替换打印的项目

我想知道是否有可能删除您在Python中打印的项目-不是从Python GUI中而是从命令提示符中删除。例如


a = 0  

for x in range (0,3):  

    a = a + 1  

    b = ("Loading" + "." * a)

print (a)

所以它打印


>>>Loading   

>>>Loading. 

>>>Loading.. 

>>>Loading...

但是,我的问题是我希望所有这些都在一条线上,因为它会在出现其他情况时自行删除。因此,"Loading", "Loading.", "Loading...我希望打印而不是打印"Loading.",然后删除行上的内容并替换为"Loading..",然后删除"Loading.."并替换(在同一行上)"Loading..."。这很难描述。


ps我尝试使用Backspace字符,但似乎不起作用("\b")


谢谢


蓝山帝景
浏览 465回答 3
3回答

素胚勾勒不出你

一种方法是使用ANSI转义序列:import sysimport timefor 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 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)请注意,您可能必须在运行sys.stdout.flush()之后立即运行,sys.stdout.write('\r'+b)具体取决于要进行打印的控制台,以便在请求时打印结果而没有任何缓冲。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python