2015-04-05 78 views
2

我試圖顯示一種加載動畫,特別是反覆出現的三個點。我想下面將工作:等待動畫「...」一遍又一遍地出現

import time, sys 

for i in range(9): 
    time.sleep(0.2) 
    x = i % 4 
    sys.stdout.write("." * x) 
    sys.stdout.flush() 

但是它所做的只是逐漸(和非均勻)加載這個:"........."

+0

我不認爲'sys.stdout.flush'完成你的想法;見例如http://stackoverflow.com/q/10019456/3001761 – jonrsharpe 2015-04-05 13:42:14

+0

嘗試'sys.stdout.write('\ r'+「。」* x)'而不是 – 2015-04-05 13:48:27

+0

'sys.stdout.write('\ r'+「。 「* x)'工作!謝謝! – Joey 2015-04-05 13:52:09

回答

0

使用\r返回字符。這是因爲你的光標應該在你失去時間後返回到原來的位置

import time, sys 

for i in range(15): 
    sys.stdout.write(" ") 
    x = i % 4 
    sys.stdout.write('\r' + "." * x) 
    time.sleep(0.5) 
    sys.stdout.flush() 
相關問題