You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python终端实时刷新时间实现:避免重复打印新行

如何在Python终端实现同一行实时刷新时间

这个问题很常见,你原来的代码每次打印新行是因为print()默认会添加换行符,而且没有让光标回到行首覆盖原有内容。下面给你几种简单的解决方案,以及你需要的搜索关键词:

方法1:使用print()的end参数和回车符\r

这是最简洁的方式,利用回车符\r让光标回到当前行的开头,同时通过end=''阻止print()自动添加换行符,这样每次打印的内容就会覆盖之前的行:

import datetime
import time

try:
    while True:
        # 获取当前时间(包含时分秒,如果你只需要日期可以去掉%H:%M:%S)
        current_time = datetime.datetime.now().strftime("[ Time: %Y-%m-%d %H:%M:%S ]")
        # \r 让光标回到行首,end='' 避免自动换行
        print(current_time, end='\r')
        # 每秒刷新一次
        time.sleep(1)
except KeyboardInterrupt:
    # 捕获Ctrl+C,优雅退出并换行
    print("\n程序已停止")

方法2:使用sys.stdout手动控制输出和刷新

如果遇到终端输出缓冲的问题(比如内容没有实时显示),可以用sys.stdout.write()配合flush()强制刷新缓冲区:

import datetime
import time
import sys

try:
    while True:
        current_time = datetime.datetime.now().strftime("[ Time: %Y-%m-%d %H:%M:%S ]")
        sys.stdout.write(current_time + '\r')
        sys.stdout.flush()  # 强制刷新输出,确保内容立刻显示
        time.sleep(1)
except KeyboardInterrupt:
    print("\n程序已停止")

你需要的搜索关键词

如果以后遇到类似问题,可以搜索这些关键词:

  • Python terminal overwrite line
  • Python实时刷新终端输出
  • carriage return in Python print

这些关键词能帮你快速找到相关的解决方案~

内容的提问来源于stack exchange,提问作者Joer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:01:04