为什么相同的代码工作方式不同?

时间:2020-06-07 07:43:01

标签: python time sleep

好吧,我读到stdout是行缓冲的。但是代码在Pydroid 3(不知道确切版本)和Python 3.8.3中的工作方式不同。

import time
print('Hello', end = '')
time.sleep(5)
print('World')

在Pydroid 3中,至少在5秒后(至少在5秒后)打印Hello和World,而在Python 3.8.3中,首先打印Hello,在5秒后打印World。

为什么代码工作方式不同?

1 个答案:

答案 0 :(得分:3)

这可能不是Python版本问题,而是其他终端问题。

某些终端(或更准确地说,文件/流,包括stdout)仅在换行符之后(第一个print没有换行符)才刷新,而其他终端则在每次写入后刷新。

您可以使用flush=True as a param to print强制刷新,请尝试以下操作:

import time
print('Hello', end='', flush=True)
time.sleep(5)
print('World')
相关问题