Python 的默认行为是缓冲输出,这意味着它将文本发送到终端之前将其存储在临时空间中。这样做是为了通过减少所需的系统调用次数来提高性能。
当末尾不包含换行符 (n) 时print 语句或函数调用时,文本保存在缓冲区中。仅当遇到换行符或缓冲区已满时,文本才会刷新并显示在终端中。
在Python 2.x中,print语句没有flush参数。要在不添加换行符的情况下刷新缓冲区,可以使用以下方法:
import sys for i in range(10): print '.', sys.stdout.flush()
在 Python 3.x 中, print 函数包含刷新关键字参数:
for i in range(10): print('.', end=' ', flush=True)
< ;h3>禁用行缓冲
适用于无论换行如何都需要立即打印的场景存在时,可以完全禁用行缓冲。这可以通过以下方式实现:
通过禁用缓冲,所有打印调用将立即显示在终端中,而不需要换行符或显式脸红。
以上是为什么没有换行符的情况下打印输出不会立即出现在终端中?的详细内容。更多信息请关注PHP中文网其他相关文章!