此问题在此处已有答案:
How to overwrite the previous print to stdout?(18个答案)
6小时前关门了。
每一秒,它打印一个新行。有没有办法让它打印在前一行的上面?
while True:
sec += 1
if sec / 60 == sec_int:
sec = 0
mins += 1
if mins / 60 == min_int:
mins = 0
hours += 1
if hours / 24 == hour_int:
hours = 0
days += 1
print(f"{days}d : {hours}h : {mins}m : {sec}s")
time.sleep(1)
1条答案
按热度按时间5t7ly7z51#
将print语句替换为:
"\r"
是一个“控制字符”,它将光标移动到行首(“回车”)。flush=True
是立即更新显示所必需的--通常Python可以缓冲到新行被写入,当然,您永远不会写入新行(因为没有办法回到上一行)。