在 komodo 编辑中使用 time.sleep()?

Using time.sleep() in komodo edit?

我正在尝试使用 python 在 komodo edit 中制作一个简单的程序,当它 运行s 将在命令输出中打印出 10 秒的时间。

代码如下:

import time

seconds = 0

while seconds != 10:
    time.sleep(1)
    seconds += 1
    print(">", seconds)

当我在 komodo 编辑 运行 时,它没有打印出想要的数字。

我希望在一秒后打印数字 1,在两秒后打印数字 2,等等

相反,它会在 10 秒后打印出所有数字 (1-10)。

我在 python IDLE 中有 运行 这个完全相同的程序,它可以正常工作,每秒打印一个数字。

我做错了什么或者我没有做错什么understand/know?

该程序可能 运行 处于不相信其输出连接到终端的环境中,因此 stdout 默认为块缓冲,而不是行缓冲。由于您输出的数据非常少,缓冲区永远不会填满,只会在程序退出前刷新。

最简单的修复方法是将 flush=True 参数添加到您的 print 调用中,因此缓冲区会在每次 print:

后显式刷新
print(">", seconds, flush=True)