我正在使用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"])
我该怎么办?
谢谢。
答案 0 :(得分:0)
根据您处理的数据,不一定会立即写入。特别是, 显示输出经常等到它在打印任何内容之前收到换行符。
flush()确保所有内容都写成现在。
背景阅读有助于解释比我更好: Usage of sys.stdout.flush() method