我写了别的东西之后才会出现没有新行的打印

时间:2014-12-17 21:15:26

标签: python python-2.7

我正在使用Python 2.7.3并运行下面的代码

def t2():
    print "Waiting...",
    time.sleep(3)
    print "done."
    time.sleep(1)
    print "test"
    time.sleep(2)
    print "testing"

当我运行此代码时,字符串“Waiting ... done”。同时出现。这就像睡眠(2)在第一次打印之前。

如果我不使用逗号删除新行(如“测试”和“测试”示例),睡眠功能正常,但我得到“等待......”和“完成”。在不同的路线上。

我已经尝试过:

for i in range(0, 5): time.sleep(1)

subprocess.check_output(["sleep", "5"])

我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:0)

根据您处理的数据,不一定会立即写入。特别是, 显示输出经常等到它在打印任何内容之前收到换行符。

flush()确保所有内容都写成现在

背景阅读有助于解释比我更好: Usage of sys.stdout.flush() method