같은 줄의 이전 인쇄 출력 재정의
프로그래밍에서는 표시되는 기존 값을 업데이트해야 하는 상황에 직면하는 것이 일반적입니다. 개행을 추가하지 않고 표준 출력(stdout). 다음 Python 코드를 고려해 보세요.
for x in range(10): print(x)
이 코드는 1부터 10까지의 숫자를 별도의 줄에 출력합니다. 이전 값을 덮어쓰고 같은 줄의 새 값으로 바꾸려면 다음 기술을 활용할 수 있습니다.
간단 버전:
캐리지 리턴( '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.7:
for x in range(10): print '{}\r'.format(x), print
파이썬 2.0-2.6:
for x in range(10): print '{0}\r'.format(x), print
이 예에서 print 문 뒤의 쉼표는 개행을 억제합니다. 최종 print 문은 다음 줄로 진행되어 프롬프트가 출력을 덮어쓰지 않도록 합니다.
줄 정리:
새 줄이 인쇄되도록 보장할 수 없는 경우 텍스트 길이가 기존 줄보다 짧지 않은 경우 "줄 끝까지 지우기" 이스케이프 시퀀스 'x1b[1K' ('x1b' = ESC):
for x in range(75): print('*' * (75 - x), x, end='\x1b[1K\r') print()
긴 줄 바꿈:
앞서 언급한 방법에서는 줄 길이를 넘어서 쓰지 않는다고 가정합니다. 캐리지 리턴은 현재 줄의 시작 부분으로만 돌아갑니다. 따라서 출력이 줄 길이를 초과하면 마지막 줄만 삭제됩니다.
이 문제를 완화하고 커서가 다음 줄로 넘어가는 것을 방지하려면 줄 바꿈을 비활성화할 수 있습니다.
print('\x1b[7l', end='') # Disable line wrapping print('\x1b[7h', end='') # Re-enable line wrapping
터미널이 손상된 상태로 유지되지 않도록 하려면 코드 블록 끝에서 줄 바꿈을 수동으로 다시 활성화해야 합니다.
위 내용은 Python에서 같은 줄에 있는 이전 인쇄 출력을 어떻게 덮어쓸 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!