>백엔드 개발 >파이썬 튜토리얼 >동적 FTP 다운로더 진행률 표시를 위해 이전 인쇄 출력을 덮어쓰는 방법은 무엇입니까?

동적 FTP 다운로더 진행률 표시를 위해 이전 인쇄 출력을 덮어쓰는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-15 11:52:02683검색

How to Overwrite Previous Print Output for a Dynamic FTP Downloader Progress Display?

이전 인쇄 출력 덮어쓰기: FTP 다운로더 진행률 표시 강화

FTP 다운로더를 만드는 과정에서 진행률 표시가 있는 것이 바람직합니다. 지속적으로 업데이트되어 같은 줄의 이전 출력을 덮어씁니다. 파일을 다운로드하고 여러 인쇄 라인을 복잡하게 만들지 않고 실시간으로 진행 상황을 모니터링하려는 시나리오를 상상해 보세요.

진행률 표시를 처리하는 데 사용된 초기 코드는 다음 구조에 의존합니다.

print(os.path.getsize(file_name) / 1024, 'KB / ', size, 'KB downloaded!')

이렇게 하면 진행 상황이 업데이트될 때마다 새 줄이 출력됩니다. 이전 줄을 덮어쓰는 원하는 효과를 얻으려면 end 키워드를 사용할 수 있습니다. 수정된 코드는 다음과 같습니다.

print(os.path.getsize(file_name) / 1024, 'KB / ', size, 'KB downloaded!', end='\r')

여기서 중요한 차이점은 print 문 끝에 end='r'이 추가된다는 것입니다. 기본적으로 print() 함수는 출력 끝에 개행 문자(n)를 추가합니다. 그러나 end='r'을 사용하면 이 줄바꿈이 캐리지 리턴(r)으로 대체됩니다.

캐리지 리턴을 사용하면 커서는 새 줄을 만들지 않고 현재 줄의 시작 부분으로 돌아갑니다. 이를 통해 후속 진행률 업데이트가 이전 줄을 덮어쓰고 효과적으로 동적 진행률 표시를 생성할 수 있습니다.

이 접근 방식은 Python 3.x와 호환됩니다. Python 2.6의 경우 키워드 인수와 함께 향상된 print() 함수를 사용하려면 파일 상단에 from __future__ import print_function 행을 포함해야 할 수도 있습니다.

이 간단한 수정을 통합하면 간소화된 여러 줄의 출력으로 사용자에게 부담을 주지 않으면서 사용자에게 정보를 제공하는 진행률 표시.

위 내용은 동적 FTP 다운로더 진행률 표시를 위해 이전 인쇄 출력을 덮어쓰는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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