Python 要打印的结束参数会导致不同的时间行为。sleep
我试着写这个脚本,只是在同一行上以1秒的延迟打印数字,但它不起作用 除此之外:Python 要打印的结束参数会导致不同的时间行为。sleep,python,python-3.x,for-loop,time,printing,Python,Python 3.x,For Loop,Time,Printing,我试着写这个脚本,只是在同一行上以1秒的延迟打印数字,但它不起作用 除此之外: from time import sleep for n in range(1, 11): print(n) sleep(1) 但事实并非如此,程序只是冻结: from time import sleep for n in range(1, 11): print(n, end="") sleep(1) 有人能解释为什么会这样吗?程序不会冻结,您只需通过传递flush=True来
from time import sleep
for n in range(1, 11):
print(n)
sleep(1)
但事实并非如此,程序只是冻结:
from time import sleep
for n in range(1, 11):
print(n, end="")
sleep(1)
有人能解释为什么会这样吗?程序不会冻结,您只需通过传递
flush=True来刷新流即可:
print(n, end="", flush=True)
sys.stdout
,print
默认使用的流是行缓冲的(在交互模式下),如中所述:
- 交互时,标准流是行缓冲的
这意味着当遇到用于end
(\n
)的默认字符串时,将调用flush
。使用其他字符串(即'
)不会触发flush
ing,因此您必须使用flush=True
操作强制它,我现在添加了end=“”