2015-04-05 74 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() 
相关问题