2012-03-27 3 views
1

프로그램 출력에서 ​​배치를 변경하지 않고 번호를 업데이트하고 싶습니다. 어떻게 파이썬 2.7.2에 대한 표준 라이브러리에 포함되어있는 것을 사용하여이 일을 할까? 예를 들어줄 바꾸기 또는 출력 배치를 변경하지 않고 번호를 업데이트하는 방법

난 같이 원하는 출력 :

working on: 9

및 변경 : 그것은에 표시되는 광고를 변경하지 않고

working on: 10

. 이 일을 어떻게하면 될까요? 또한 "깜박임"을 방지하기 위해 cls을 사용하지 않는 것이 좋습니다.

답변

5

이 작업을 수행하는 방법은 터미널 유형 (플랫폼에 따라 다름)에 따라 다릅니다.

import time 
import sys 
for i in range(10): 
    print "\rworking on:", i, 
    sys.stdout.flush() 
    time.sleep(1) 

당신은 sys.stdout.flush()에 전화를해야 할 수도 있습니다, 라인이 실제로 나타나게하려면 많은 플랫폼과 단말기에서 작동하는 쉬운 방법은 행의 시작 부분에 커서를 뒤로 이동하려면 \r 문자를 사용하는 것입니다.

1

일부 유형의 GUI를 사용하지 않고이를 수행하는 쉬운 방법은 없습니다. 터미널을 사용하여 GUI를 만드는 표준 방법은 파이썬의 curses 모듈입니다. 응용 프로그램에서 curses를 사용하는 방법은 다음을 참조하십시오. Curses Programming with Python.

관련 문제