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

Python3如何实现持续显示8秒的旋转加载光标效果

Python 8秒旋转加载光标实现方案

你原先的代码存在多处问题:混淆了循环计数和字符遍历逻辑、while循环终止条件错误、print默认换行无法实现行内刷新、缺少时间控制逻辑,还存在多写右括号的语法错误。

调整后可直接运行的代码如下:

import time

spinner = ['-', '\\', '|', '/']
total_runtime = 8
start_timestamp = time.time()
spinner_index = 0

# 只要运行时长不足8秒就持续循环
while time.time() - start_timestamp < total_runtime:
    # \r 让光标回到行首,end='' 取消默认换行,flush=True 强制立刻输出内容
    print(f"\rlooking for coupons {spinner[spinner_index % len(spinner)]}", end='', flush=True)
    spinner_index += 1
    # 控制旋转速度,数值越小转速越快
    time.sleep(0.1)

# 加载结束后换行,避免后续终端输出和加载行重叠
print()

核心调整点说明:

  • 引入time模块实现时间控制:通过计算当前时间和启动时间的差值判断是否达到8秒,作为while循环的终止条件,符合你要求的while循环实现的需求
  • 用\r回车符实现行内内容覆盖:配合print的end=''参数取消默认换行,每次输出都会覆盖上一行的内容,不会出现多行输出的情况
  • 新增flush=True参数强制print立刻刷新输出缓冲区,避免内容攒在缓冲区不输出,导致动态效果失效
  • 新增time.sleep(0.1)控制旋转速度,你可以根据需求调整这个数值,数值越小光标旋转速度越快
  • 循环结束后新增空print输出换行符,避免后续终端输出接在加载行末尾

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:09:02