在python中,如何使一个字符串与shell中的当前字符串重叠?[duplicate]

pdsfdshx  于 2022-11-21  发布在  Python
关注(0)|答案(1)|浏览(115)

此问题在此处已有答案

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)
5t7ly7z5

5t7ly7z51#

将print语句替换为:

print(f"\r{days}d : {hours}h : {mins}m : {sec}s", end="", flush=True)

"\r"是一个“控制字符”,它将光标移动到行首(“回车”)。flush=True是立即更新显示所必需的--通常Python可以缓冲到新行被写入,当然,您永远不会写入新行(因为没有办法回到上一行)。

相关问题