⏳ 加载中 \/ → - → | → \ ...,若干次后显示 ✅ 完成。import timefor i in range(20):print(f'\r⏳ 加载中 {["|", "/", "-", "\\"][i % 4]}', end='', flush=True)time.sleep(0.1)print('\r✅ 加载完成! ') # 注意末尾空格覆盖残留字符
\r 回车符:光标回到行首,不换行,并且覆盖当前行内容end='':阻止自动换行print() 结尾带 \n → 每次输出新行 → 无法覆盖end='' 禁用换行 → 保持在同一行 → 配合 \r 实现覆盖flush=True:解决输出缓冲flush=True 强制立即输出 → 避免动画“卡顿/延迟”chars = ["|", "/", "-", "\\"]chars[i % 4] # 0→|, 1→/, 2→-, 3→\, 4→|... 循环产生旋转错觉
import timeimport sysdef spinner(text="加载中", duration=2, speed=0.1):end_time = time.time() + durationchars = "|/-\\"idx = 0while time.time() < end_time:sys.stdout.write(f'\r{text}{chars[idx % len(chars)]}')sys.stdout.flush()idx += 1time.sleep(speed)sys.stdout.write(f'\r{text} ✅{" " * 10}\n') # 清理残留 + 换行# 使用示例spinner("数据处理", duration=3)spinner("网络请求", duration=1.5, speed=0.05)
Python--数据/图像可视化(雷达图,甘特图,热力图)
细数那些经典教材(基础编程、数据结构与算法)
Python库巡礼(NumPy,Pandas,SciPy,Polars)
Python与数学之美(玫瑰线)
推荐文章