본문 바로가기
python

[python] sys.stdin 과(vs) sys.stdin.readline() 차이

by 새우하이 2020. 8. 14.

파이썬의 sys모듈 stdin은 표준 입력에서 사용된다. 내부적으로 input() 함수를 호출하고 입력 문자열에는 개행문자 (\n)가 추가된다.

 

그럼 sys.stdin 과 sys.stdin.readline의 차이는?

import sys

for line in sys.stdin:
    if (line == "\n"): #파일 끝내기
        break 
    print(line ,end="")

 

앞서 말했 듯 입력 문자열에 개행문자가 추가되어 출력될때 print와 함께 개행하여 2줄씩 개행되는것을 막기 위해 end="" 를 사용하여 print 의 자체 개행을 없앴다.

 

sys.stdin 은 입력 문자열을 line으로 받아오는 것을 볼 수 있었다.

 

import sys

for line in sys.stdin.readline():
    if (line == "\n"): #파일 끝내기
        break 
    print(line)

이번에는 end = ""를 제거하고 실행했다.  readline()함수는  입력받은 문장을 하나의 문자씩 line에 할당한다.

그래서 마지막 \n 까지 읽고나면 if문에 의해 종료된다.

 

 

댓글