如果您在print() 中使用end="\r",则它不会转到下一行,但会移至行首 - 然后您可以在同一行再次写入。
import time
print("Loading", end="\r")
time.sleep(1)
print("Loading.", end="\r")
time.sleep(1)
print("Loading..", end="\r")
time.sleep(1)
print("Loading...", end="\r")
time.sleep(1)
print() # move to next line
当您必须更改行中的文本时,这会很有用。
但是对于添加点,使用end="" 在同一行写入会更简单
import itme
print("Loading", end="")
for _ in range(3):
time.sleep(1)
print(".", end="")
print() # move to next line
部分模块使用此方法绘制progressbar
顺便说一句:
您也可以\r 和end="" 将光标保持在行尾
import time
print("\rLoading", end="")
time.sleep(1)
print("\rLoading.", end="")
time.sleep(1)
print("\rLoading..", end="")
time.sleep(1)
print("\rLoading...", end="")
time.sleep(1)
print() # move to next line
如果新文本比旧文本短,则应在末尾写空格以删除以前的文本。
import time
print("\r....", end="")
time.sleep(1)
print("\r... ", end="")
time.sleep(1)
print("\r.. ", end="")
time.sleep(1)
print("\r. ", end="")
time.sleep(1)
print("\r ", end="")
print() # move to next line
如果您想同时显示其他文本,则可能需要使用curses、urwind、npyscreen 等模块,该模块可以使用特殊代码将光标移动到(某些)终端的不同位置。