首页 > 解决方案 > Python 的 print 语句后跟 sleep(...) 函数给出了意外的输出

问题描述

这是我的 Python 3 代码:

from time import sleep
s='what is your name'
for x in s:
    print(x,end='')
    sleep(1)

我期望的是,每封信都会在延迟一秒后一个一个地打印出来。但是当我运行这个程序时,它需要len(s)几秒钟的时间,然后打印出s. 任何人都可以向我解释实际发生的事情。

标签: pythonpython-3.x

解决方案


使用flush参数print函数:

print(x, end='', flush=True)

来自文档

输出是否缓冲通常由文件决定,但如果flush关键字参数为真,则流被强制刷新。


推荐阅读