如何在time.sleep()之后没有换行符的情况下进行打印

时间:2020-02-26 18:30:59

标签: python python-3.x

我正在尝试编写Python代码(在3.x中),例如,将print'hello',用time.sleep等半秒钟,然后再使用print'世界'。我现在拥有的代码是这样的:

from time import sleep

print('hello', end = '')
sleep(0.5)
print(' world')

(结尾处没有空格=”是有原因的)

输出:

#waiting
>> hello world

预期输出:

>> hello /*waiting*/ world

请帮助。

1 个答案:

答案 0 :(得分:2)

这是由于打印缓冲(实际上是由操作系统而不是Python处理)。该缓冲区会不时自动刷新(通常非常频繁),但是您可以随意请求刷新。 print()函数使此操作变得简单:

from time import sleep

print('hello', end='', flush=True)
sleep(0.5)
print(' world', flush=True)

此外,可能不需要向最后一个print()添加刷新。