gpt4 book ai didi

python - 我无法理解的 Python 打印行为

转载 作者:行者123 更新时间:2023-11-28 20:28:30 25 4
gpt4 key购买 nike

我的代码片段是这样的:

from time import sleep
for i in xrange(10):
status = "hello%s" % str(i)
status = status + chr(8)*(len(status)+1)
sleep(1)
print status

它的行为与

不同
print status

print status,

现在,当我在 print status 之后使用逗号时,print 只会输出一次到 stdout。即在循环最后一次迭代之后,当我不在 print status 之后放置那个逗号时,每次调用它时 print 输出到 stdout(因为我期待它)。

我不明白下面发生了什么。谁能解释一下。谢谢:)

最佳答案

控制台终端是行缓冲的,这意味着控制台缓冲区将在发现新行字符\n 时刷新,这解释了您现在看到的行为,因为当您执行 print status print 将自动打印一个新行字符,这将在 print 之后刷新控制台缓冲区,但是当您执行 print status, 时,print 不会添加新行,因此缓冲区不会在打印。

这是一个good article关于缓冲希望它能给你更多的洞察力:)

关于python - 我无法理解的 Python 打印行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5203415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com