Python에서 인쇄 출력 플러시

Muhammad Waiz Khan 2023년10월10일
  1. print()함수에서flush매개 변수를 사용하여 Python에서 인쇄 출력 플러시
  2. sys.stdout.flush()메서드를 사용하여 Python에서 인쇄 출력 플러시
  3. -u플래그를 사용하여 Python에서 인쇄 출력 플러시
Python에서 인쇄 출력 플러시

이 자습서에서는print()sys.stdout.write()와 같은 인쇄 함수의 출력을 Python의 화면에 플러시하는 다양한 방법에 대해 설명합니다. 일반적으로 입력 및 출력 함수는 프로그램의 성능을 향상시키기 위해 데이터를 버퍼에 저장합니다. 따라서 시스템 호출 횟수를 줄이기 위해 데이터를 먼저 버퍼에 저장 한 다음 화면이나 파일에 문자 단위로 쓰는 대신 화면에 기록합니다.

이 튜토리얼에서는 각 호출에서 데이터를 버퍼링하는 대신 강제로 플러시하도록 인쇄 함수를 설정하는 여러 방법을 설명합니다.

print()함수에서flush매개 변수를 사용하여 Python에서 인쇄 출력 플러시

print()함수의flush인수를True로 설정하여 함수가 출력 데이터를 버퍼링하는 것을 중지하고 강제로 플러시 할 수 있습니다. flush인수가True로 설정된 경우print()함수는 효율성을 높이기 위해 데이터를 버퍼링하지 않고 각 호출에서 계속 플러시합니다.

아래 예제 코드는print()함수를 만들어 Python에서 인쇄 출력을 강제로 플러시하는 방법을 보여줍니다.

print("This is my string", flush=True)

sys.stdout.flush()메서드를 사용하여 Python에서 인쇄 출력 플러시

출력 데이터를 인쇄하는 동안 플러시하는 다른 방법은 Python의sys모듈의sys.stdout.flush()를 사용하는 것입니다. sys.stdout.flush()print()또는sys.stdout.write()가 될 수있는 인쇄 함수가 각 호출의 화면 또는 파일에 출력을 기록하고 버퍼링하지 않도록 강제합니다.

다음 코드 예제는sys.stdout.flush()메서드를 사용하여 인쇄물의 출력 데이터를 플러시하는 방법을 보여줍니다.

import sys

sys.stdout.write("This is my string")
sys.stdout.flush()

-u플래그를 사용하여 Python에서 인쇄 출력 플러시

.py 파일을 실행하는 동안-u 플래그를 인터프리터에 전달할 수 있습니다. 그러면stdin,stdoutstderr가 데이터를 버퍼링하지 않고 플러시하지 않도록 강제합니다.

아래 예제는-u플래그를 사용하여 Python에서 인쇄 출력을 플러시하는 방법을 보여줍니다.

python -u mycodefile.py

관련 문장 - Python Print