Python에서 콘솔 출력 교체
Python의 다재다능한 특성 덕분에 사용자 정의 콘솔 출력을 특정 요구에 맞게 조정할 수 있습니다. 한 가지 일반적인 기술은 제자리에서 업데이트되는 동적 콘솔 카운터를 생성하는 것입니다.
쿼리: 출력을 카운터로 바꾸기
콘솔 출력을 진행률 카운터로 바꾸려면 루프를 사용하면 됩니다. 각 반복을 수행한 후 상태 메시지를 표시하도록 수정되었습니다. 각 상태에 대한 새 줄이 포함된 이전 출력과 달리 이 카운터는 마지막으로 표시된 줄만 업데이트합니다.
해결책: 'r' 사용
한 가지 간단한 방법 해결 방법은 새 상태 메시지 앞에 캐리지 리턴 문자 "r"을 삽입하고 개행 문자를 피하는 것입니다. 이렇게 하면 문자열이 짧아지지 않고 문자열의 길이가 일정하게 유지될 것으로 예상되는 경우 실행 가능한 접근 방식이 됩니다.
예:
import sys for i in range(5): sys.stdout.write("\rDoing thing %d" % i) sys.stdout.flush()
향상된 솔루션 : 진행 표시줄
보다 정교한 진행 표시를 위해 진행 표시줄을 구현할 수 있습니다. 다음 코드는 간단한 진행률 표시줄 기능을 제공합니다.
def start_progress(title): sys.stdout.write(title + ": [" + "-" * 40 + "]" + chr(8) * 41) sys.stdout.flush() progress_x = 0 def progress(x): global progress_x x = int(x * 40 // 100) sys.stdout.write("#" * (x - progress_x)) sys.stdout.flush() progress_x = x def end_progress(): sys.stdout.write("#" * (40 - progress_x) + "]\n") sys.stdout.flush()
start_progress 함수는 제목 설명으로 진행률 표시줄을 초기화합니다. Progress(x)는 완료율(x)로 막대를 업데이트합니다. 마지막으로 end_progress는 진행률 표시를 완료합니다.
위 내용은 Python에서 콘솔 출력을 카운터 및 진행률 표시줄로 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!