컴공생의 다이어리

[파이썬, Python] 빠른 입출력 본문

Development/Python & Django

[파이썬, Python] 빠른 입출력

컴공 K 2023. 2. 20. 00:15

Python 빠른 입출력

파이썬에서 빠르게 데이터를 입출력하기 위해서는 sys 라이브러리를 활용하면 된다. 이 글에서는 빠른 입출력에 대해 정리하고자 한다.

 

 

 

빠른 입력

import sys

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

sys.stdin.readline() 으로 빠른 입력을 받을 수 있다. 이때, 데이터에 줄바꿈 문자(\n)가 포함되어 입력받아진다는 점을 주의해야 한다. 그렇기 때문에 입력을 받고 나서 rstrip() 함수를 사용하여 줄바꿈 문자를 제거해주어야 한다.

 

그리고 매번 sys.stdin.readline()을 계속 작성해주는 것이 번거로울 수 있다. 그럴 땐 변수에 저장해서 사용하는 방법을 활용할 수 있다. 아래의 경우에는 input이라는 변수에 저장을 하는데, 이렇게 하면 기본 input 함수 대신 sys.stdin.readline을 사용하도록 덮어씌운다.

import sys

input = sys.stdin.readline
data = input().rstrip()

 

 

 

 

빠른 출력

import sys

sys.stdout.write('hello')

sys.stdout.write()를 사용하면 빠르게 출력을 할 수 있다. 이를 사용해 출력하면 기존에 print 함수 사용시 기본적으로 추가되는 줄바꿈이 지원되지 않는다는 점을 주의해야 한다.

 

sys.stdout.write()를 매번 작성해주는 것에 대한 번거로움을 앞서 말했던 빠른 입력에서 변수를 사용하는 방법과 동일하게 아래와 같이 해결할 수 있다. 기본 print 함수 대신 sys.stdout.write를 사용하도록 덮어씌운다.

import sys

print = sys.stdout.write

print('hello')
print('안녕')

# 출력 결과 : hello안녕

 

 

 

 

 

 

 

https://wooono.tistory.com/512

 

[Python] 파이썬 빠르게 입력 받기 (sys.stdin.readline)

들어가기 앞서, 입력 데이터의 개수가 많은 문제를 풀 때, input() 함수를 사용하면, 동작 속도가 느려서 시간 초과로 인한 오답 판정을 받을 수 있습니다. 따라서, 입력 데이터가 많은 문제에는, sy

wooono.tistory.com

 

728x90
Comments