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

Python程序退出时动态显示Quitting...效果的实现问题

程序退出提示效果的问题解决

需求说明

  • 打印单词“Quitting”
  • 重复3次:暂停0.5秒,在“Quitting”所在行追加一个点
  • 完成后换行显示提示符

遇到的问题

运行代码时出现两种异常情况:

  1. 每个点垂直换行显示,而非在同一行追加
  2. 等待1.5秒后才一次性显示所有内容(包括“Quitting”和三个点)

原代码

import time

print("Quitting", end='')
for i in range(3):
    print('.', end='')
    time.sleep(0.5)
print('\n')

问题原因

Python的标准输出默认采用行缓冲机制,只有当输出内容包含换行符\n时,才会将缓冲区的内容刷新到终端显示。原代码中end=''取消了换行,导致内容一直留在缓冲区,要么因为终端自动处理逻辑导致点垂直显示,要么等待所有操作完成后才一次性刷新。

解决方法

在每次print调用时添加flush=True参数,强制刷新输出缓冲区,让内容立刻显示:

import time

print("Quitting", end='', flush=True)
for i in range(3):
    print('.', end='', flush=True)
    time.sleep(0.5)
print('\n')

也可以手动调用sys.stdout.flush()来刷新缓冲区(需先导入sys模块):

import time
import sys

print("Quitting", end='')
sys.stdout.flush()
for i in range(3):
    print('.', end='')
    sys.stdout.flush()
    time.sleep(0.5)
print('\n')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 10:05:30