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

Python中While循环无法重启启动动画问题求助

问题原因与解决方案

你的代码并非真的停止循环,而是视觉上出现了假死——当循环第二次执行print("Booting")时,由于之前打印的Booting.....长度更长,新的输出只覆盖了前6个字符,行尾的.....会残留下来,导致看起来一直停在Booting.....;同时print默认的输出缓冲也可能导致更新不及时。

修改后的代码如下,既能实现循环刷新的效果,又简化了冗余代码:

import time
import sys

Booting = 1

while Booting == 1:
    for dot_count in range(6):
        # 回到行首+清除当前行内容,然后打印引导文本
        sys.stdout.write(f"\r\033[KBooting{'.' * dot_count}")
        # 强制刷新缓冲区,确保实时显示
        sys.stdout.flush()
        time.sleep(0.2)

关键修改点:

  • 用\r将光标移至行首,配合\033[K清除当前行所有内容,彻底避免残留字符。
  • 使用sys.stdout.write替代print,避免自动添加换行符,让所有输出保持在同一行。
  • 调用sys.stdout.flush()强制刷新输出缓冲区,确保每一次修改都能实时显示。
  • 通过循环生成不同数量的点,替代重复的打印语句,代码更简洁易维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:45:41