>백엔드 개발 >파이썬 튜토리얼 >Python에서 이전 출력을 표준 출력(Stdout)으로 덮어쓰려면 어떻게 해야 합니까?

Python에서 이전 출력을 표준 출력(Stdout)으로 덮어쓰려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-28 20:25:11431검색

How Can I Overwrite Previous Output to Standard Output (Stdout) in Python?

이전 출력을 Stdout으로 덮어쓰기

많은 프로그래밍 시나리오에서는 터미널에 표시되는 출력을 수정하거나 업데이트해야 합니다. 이 기사에서는 이전 인쇄를 stdout에 덮어쓰고 같은 줄의 업데이트된 값으로 바꾸는 방법을 살펴봅니다.

캐리지 리턴(r)

Python은 다음을 제공합니다. r(캐리지 리턴) 문자를 사용하면 커서를 다음 줄로 이동하지 않고 현재 줄의 시작 부분으로 다시 이동할 수 있습니다. r을 사용하면 이전 인쇄 문을 덮어쓸 수 있습니다.

# Python 3
for x in range(10):
    print(x, end='\r')
print()

# Python 2.7
from __future__ import print_function
for x in range(10):
    print(x, end='\r')
print()

인쇄 문 끝의 쉼표

Python 2에서는 인쇄 문 끝의 쉼표 print 문의 끝이 있으면 다음 줄로 넘어가는 것이 방지됩니다. 덮어쓰기:

# Python 2
for x in range(10):
    print '{0}\r'.format(x),
print

줄 끝까지 지우기(x1b[1K)

새 텍스트 줄이 이전 줄보다 짧으면 x1b[1K(줄 끝까지 지우기)를 사용하여 나머지를 지울 수 있습니다. 문자:

for x in range(75):
    print('*' * (75 - x), x, end='\x1b[1K\r')
print()

줄 바꿈 비활성화

기본적으로 Python은 터미널 너비를 초과하는 줄을 줄 바꿈합니다. 이를 방지하고 연속 문자가 이전 줄을 덮어쓰도록 하려면 x1b[7l:

print('\x1b[7l', end='')  # Disable line wrapping
for x in range(50):
    print(x, end='\r')
print('\x1b[7h', end='')  # Re-enable line wrapping

참고: 줄 바꿈을 비활성화한 후 항상 줄 바꿈을 다시 활성화하여 떠나지 않도록 하세요. 단말기가 망가진 상태입니다.

위 내용은 Python에서 이전 출력을 표준 출력(Stdout)으로 덮어쓰려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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