본문 바로가기

파이썬

파이썬 빠른 입출력과 str.strip() 함수

파이썬의 기본 입출력 함수인 print()와 input() 함수는 기타 여러 기능들이 들어가 있어 매우 느리다.

 sys 라이브러리의 stdin.readline() 함수와 stdout.write() 함수를 이용해 더 빠른 입출력이 가능하다.

 

빠른 입력

sys.stdin.readline() 함수를 이용한다.

import sys


dat = sys.stdin.readline().rstrip()

sys.stdin.readline() 함수로 읽어온 데이터에는 개행 문자 (\n)이 포함되므로, str.rstrip() 메서드를 이용해 개행 문자를 제거해야 한다.

 

str.rstrip() 메서드

str.strip() 메서드는 문자열의 왼쪽, 오른쪽 끝에 있는 공백, 개행 문자를 제거한다.

이와 비슷하게, rstrip() 메서드는 오른쪽 끝의 공백, 개행문자를, lstrip() 메서드는 왼쪽 끝의 공백, 개행문자를 제거한다.

 

빠른 출력

sys.stdout.write() 함수를 이용한다.

 

print 함수의 자동 줄바꿈 기능은 없지만, 속도가 거의 두배 차이난다.

 

for _ in range(1000000):
    print("asdf")

print() 내장 함수 이용

 

import sys


for _ in range(1000000):
    sys.stdout.write("asdf\n")

sys.stdout.write() 함수 이용