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

Python 为什么相同的代码工作方式不同?,python,time,sleep,Python,Time,Sleep,我已经读到stdout是行缓冲的。但是代码在Pydroid 3中的工作方式不同,不知道确切版本和Python 3.8.3 import time print('Hello', end = '') time.sleep(5) print('World') 在Pydroid 3中,Hello和World至少在5秒后打印,而在Python 3.8.3中,Hello首先打印,World在5秒后打印 为什么代码的工作方式不同?这可能不是Python版本的问题,而是不同的终端问题 一些终端或更准确地说是文

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

import time
print('Hello', end = '')
time.sleep(5)
print('World')
在Pydroid 3中,Hello和World至少在5秒后打印,而在Python 3.8.3中,Hello首先打印,World在5秒后打印


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

这可能不是Python版本的问题,而是不同的终端问题

一些终端或更准确地说是文件/流,标准输出仅包括在第一次打印没有的换行后刷新,而其他终端可以在每次写入后刷新

要强制使用刷新,请尝试以下操作:

导入时间 打印“你好”,结束=,刷新=真 时间到了 打印“世界”
这可能不是Python版本的问题,而是另一个终端问题

一些终端或更准确地说是文件/流,标准输出仅包括在第一次打印没有的换行后刷新,而其他终端可以在每次写入后刷新

要强制使用刷新,请尝试以下操作:

导入时间 打印“你好”,结束=,刷新=真 时间到了 打印“世界”
哦所以stdout在一种情况下是行缓冲的,而在另一种情况下是非缓冲的,对吗?@NSR yes,在我看来就是这种情况。如果我从PyCharm或直接从Windows的cmd运行您的原始代码,我会得到不同的结果以及相同的Python版本…哦!!所以stdout在一种情况下是行缓冲的,而在另一种情况下是非缓冲的,对吗?@NSR yes,在我看来就是这种情况。如果我从PyCharm或直接从Windows的cmd运行您的原始代码,我会得到不同的结果以及相同的Python版本。。。