티스토리 뷰

 파일을 옮긴다거나 무슨 처리를 할 때 시간이 오래 걸리는 경우에 진행률을 표시하고 싶은 경우가 있습니다. GUI 환경에서 진행 바를 표시하거나 프로세스 바를 표시할 수도 있지만 간단히 콘솔에서 문자열로 표시하고 싶은 경우를 다루어보겠습니다. (바로 아래와 같이! 👏)

 먼저 궁금하신 분들을 위해서 바로 코드부터 공개해드리도록 하겠습니다.

소스 코드

from time import sleep
for i in range(100):
    msg = '\r진행률 %d%%'%(i+1)
    print(msg,end='')
    sleep(0.1)

 위 코드가 전부입니다. 간단하게 구현을 할 수 있습니다.

코드 설명

  1.  먼저 sleep을 import 해줍니다. sleep은 프로그램을 잠시 멈추어서 진행 상황이 잘 표시되는지를 눈으로 확인하기 위해서 사용했습니다. (실무에서는 진행되는 상황에 맞게 계산을 해서 사용하면 되겠습니다.)
  2. 이후 반복문에서 100번 반복하면서 100%까지 출력합니다.
  3. msg의 형식 : 먼저 \r은 캐리지 리턴문자로 캐럿을 맨 앞줄로 이동시킵니다. (참고로 \n은 캐럿을 다음 행으로 이동시키죠.) 그래서 같은 행에서 퍼센트만 올라가는 것처럼 보이게 할 수 있습니다.
for i in range(100,0,-1):
    msg = '\r진행률 %d%%'%(i+1)
    print(' '*len(msg),end='')
    print(msg,end='')
    sleep(0.1)

 물론 거꾸로도 가능합니다. 이때는 문자열이 남게되므로 빈칸을 문자열의 길이만큼 출력한 뒤에 출력해야 합니다. 그러면 아래처럼 된답니다. 😉 이런 식으로 진행률을 표시할 일은 없겠지만 말입니다.

 흠. 다른 재밌는 글들도 보고 가셔도 좋습니다. 😃

👉[python] 2진수 8진수 16진수 정수형

👉[python] 파이썬 None 개념 1분만에 알고 가기 👶

👉[python] for else 구문은 처음 보네 😶

댓글
댓글쓰기 폼
네이버 이웃추가
«   2020/09   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
글 보관함