2013-10-18 9 views
0

개발중인 게임의 일부로 회전 커서를 구현하려고 시도했습니다파이썬에서 회전하는 커서 애니메이션에 대해 % s 인쇄를 바꾸기 위해 sys.stdout.flush()를 사용할 수 없습니다

그것이 독립이 sys.stdout.flush()

하지 않고도 작동하는 반면

t=1 
while t<100: 
    for i in ["/","-","|","\\","|"]: 
     print "%s\r" % i 
     sys.stdout.flush() 
    t=t+1 

이 더 큰 코드의 일부로 작동하지 않는 무슨 거래? Windows 환경에서 Cygwin에서 Python 2.7을 사용합니다.

답변

2

print 원하는 텍스트를 작성한 후 stdout에 개행을 씁니다. 대신 sys.stdout.write()으로 라인을 쓰기 :

while t<100: 
    for i in ["/","-","|","\\","|"]: 
     sys.stdout.write("%s\r" % i) 
     sys.stdout.flush() 
    t=t+1