Python 3.8实现带毫秒的单行动态数字时钟方法咨询
实现单行实时更新的数字时钟(含毫秒)
刚好我之前折腾过类似的需求,给你调整下代码就能实现你要的实时跳动效果。原来的代码只打印一次当前时间,要做成数字手表那样的动态显示,我们需要循环更新并覆盖单行内容,具体思路和代码如下:
关键实现要点
- 用无限循环持续获取最新时间
- 格式化时间时包含时:分:秒.毫秒的格式,满足你要的数字时钟精度
- 利用
print函数的end='\r'参数让光标回到行首,实现单行覆盖更新 - 加上
flush=True确保输出立刻刷新,避免延迟 - 用
time.sleep()控制更新频率,保证毫秒级的流畅显示
完整代码
import time try: while True: # 获取带毫秒的时间戳 current_time = time.time() # 拼接出 "时:分:秒.毫秒" 的格式(毫秒保留三位) formatted_time = time.strftime("%H:%M:%S", time.localtime(current_time)) + f".{int((current_time % 1) * 1000):03d}" # 打印并覆盖单行内容,强制刷新输出 print(f"Local current time: {formatted_time}", end='\r', flush=True) # 每10毫秒更新一次,保证毫秒显示流畅 time.sleep(0.01) except KeyboardInterrupt: # 捕获Ctrl+C退出,打印换行避免光标留在行中间 print("\nClock stopped.")
代码说明
time.time()返回的是带小数的时间戳,小数部分就是毫秒级的数值,我们把它转成三位整数来显示毫秒time.strftime("%H:%M:%S")用来格式化出小时、分钟、秒的标准部分end='\r'是实现单行覆盖的核心,它会让打印完内容后光标回到当前行开头,下一次打印就会直接覆盖之前的内容- 加上
try-except块是为了让你可以用Ctrl+C优雅停止程序,不会弹出报错信息
运行后你就能看到单行里的秒和毫秒实时跳动,完全符合数字手表的动态效果~
内容的提问来源于stack exchange,提问作者Stifler
相关产品推荐
相关产品推荐

