2017-10-13 132 views
1

我想使用python3在同一行上的終端上緩慢打印字符串的字符。我用這個代碼。使用time.sleep函數緩慢打印

for i in "Hello": 
    print(i,end='') 
    time.sleep(0.2) 

這個代碼在once.when我使用sys.stdout.write函數()函數,而不是打印功能等待0.2 * 5秒,並打印的所有字符(「你好」 LEN),它打印的字符逐行而不是同一行。如何在同一行上打印字符延遲?

回答

3
import sys 
import time 

for c in "Hello": 
    sys.stdout.write(c) 
    sys.stdout.flush() # <- add this 
    time.sleep(0.2) 

或者使用flush參數在Python 3 print功能

print(c, end='', flush=True) 
+0

這並不能使它仍然打印每焦新線有什麼區別。我使用Ubuntu的是,爲什麼這不起作用? –

+0

它應該工作,你可以複製你使用完全相同的代碼嗎? –

+0

我複製了你的代碼sys.stdout.flush()沒有效果,但在打印函數工作。 –