>백엔드 개발 >파이썬 튜토리얼 >Python에서 콘솔 출력을 바꾸는 방법은 무엇입니까?

Python에서 콘솔 출력을 바꾸는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-03 06:05:30640검색

How to Replace Console Output in Python?

Python에서 콘솔 출력 바꾸기

Python에서는 콘솔에 대한 출력을 제어하는 ​​것이 어려울 수 있습니다. 특히 표시된 정보의 일부입니다. 이 질문은 현재 콘솔 출력을 간결한 진행률 카운터로 대체하는 솔루션에 대해 논의합니다.

간단한 접근 방식은 백스페이스 문자("r")와 개행 문자 없이 새 문자열을 쓰는 것입니다. 이렇게 하면 콘솔에서 가장 최근 줄만 업데이트됩니다. 이는 아래 코드 스니펫에 나와 있습니다.

<code class="python">sys.stdout.write("\rDoing thing %i" % i)
sys.stdout.flush()</code>

그러나 보다 정교한 진행률 표시줄을 위해 진행률을 추적하고 진행률에 따라 동적 표시줄을 표시하는 사용자 지정 기능을 구현할 수 있습니다. 예는 다음과 같습니다.

<code class="python">def progress(title):
    global progress_x
    sys.stdout.write(title + ": [&" + "-" * 40 + "]") + chr(8) * 41
    sys.stdout.flush()
    progress_x = 0

def progress(x):
    global progress_x
    progress_x = int(x * 40 // 100)
    sys.stdout.write("#" * (progress_x - progress_x))
    sys.stdout.flush()

def stop_progress():
    sys.stdout.write("#" * (40 - progress_x) + "]\n")
    sys.stdout.flush()</code>

이 함수를 사용하려면 작업 설명과 함께 start_progress를 호출하고 백분율로 진행을 호출한 다음 마지막으로 stop_progress를 호출하여 콘솔에 전체 진행률 표시줄을 표시합니다.

위 내용은 Python에서 콘솔 출력을 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.