2016-08-01 79 views
3
print 'foo', 
time.sleep(1) 
print 'bar' 

這似乎先運行time.sleep(1),然後一起打印"foo bar"爲什麼在同行打印之間沒有延遲?

然而,打印對自己行既foobar產生打印語句之間的預期延遲:

print 'foo' 
time.sleep(1) 
print 'bar' 

有一些堆疊的所有打印語句,直到接收到一個新的行字符?

回答

7

print默認打印到sys.stdout並且它是行緩衝的。 sys

還閱讀:你可以print語句

import time 
import sys 

print 'foo' 
sys.stdout.flush() 
time.sleep(1) 
print 'bar 

參考之後每次刷新緩衝區How to flush output of Python print?

+0

看起來像'-u'的伎倆以及運行蟒蛇 – victor

相關問題