底层stdio函数的默认行为,当输出到控制台时,遇到换行时将自动刷新流,但不会刷新其他字符。
如果输出不是控制台,那么即使换行也不会触发刷新。
如果你想确定flush,你可以明确地告诉print():
from sys import argv, stdout as cout from time import sleep as sl print("Rewinding.......",end = '') cout.flush() for i in range(0,20): sl(0.2) print(".",end='', flush=True) #强制刷新 print("Done")