logo

파이썬에서 기존의 출력 지우고 새로 출력하면서 진행 경과 나타내는 법 📂프로그래밍

파이썬에서 기존의 출력 지우고 새로 출력하면서 진행 경과 나타내는 법

한 줄

코드가 실행될 때 진행 상황을 알고싶어 print() 함수를 쓰면 다음과 같이 출력된다.

for i in range(1,6):
    print(f"진행 경과[{i}/5]")

3507_one_line_1.webp

이때 다음과 같이 문자열의 앞에 \rprint()의 옵션으로 end=""를 추가해주면 된다. \r은 커서를 맨 앞으로 이동시키는 것이고, end=""print()의 기본 옵션인 개행을 꺼주는 것이다.

for i in range(1,6):
    print(f"\r진행 경과[{i}/5]", end="")

3507_one_line_2.webp

여러 줄

여러 줄로 진행 상황을 출력하고 싶을 땐 reprint 라이브러리를 이용하면 쉽게 구현할 수 있다. 아래의 예제 코드와 같이 with 문 안에서 output_lines[i]에 따라서 결과가 출력된다.

설치

cmd 창에서 다음의 명령줄로 설치한다.

>>>pip install reprint

코드

from reprint import output

with output(initial_len=3, interval=0) as output_lines:
    for i in range(1,6):
        output_lines[0] = f"진행 경과[{i}/5]"
        for j in range(10):
            output_lines[1] = f"j = {j}"
            output_lines[2] = f"j^2 = {j**2}"

3507_multilines.webp

환경

  • OS: Windows11
  • Version: Python v3.9.13, reprint==0.6.0