[ Python ] sys.stdin.readline()으로 입력 받기에 대한 정리

2023. 12. 14. 21:55·Algorithm/Python

 

 

 


 

 

 

포스팅 목적

알고리즘 문제를 풀던 중 알게된 " sys.stdin.readline() " 에 대해서
알아보고 정리합니다.

 

 

 

sys.stdin.readline() 은 무엇인가?

  • 파이썬에서는 흔히 input()을 사용하여 사용자로부터 입력을 받습니다.
  • 하지만 여러줄에 걸쳐 입력을 받는 경우 input()을 사용하게 되면 timeout error가 발생할 수 있습니다.
  • input()은 경우에 따라 prompt message를 출력하고 입력을 받으며,
    입력받은 값의 개행문자를 삭제시키고 반환합니다.
  • 위와 같은 과정을 거치기 때문에 속도 느립니다.
  • 이러한 문제를 해결한 방법이 sys.stdin.readline()입니다.

 

sys.stdin.readline()의 특징 및 사용방법

  • 문자열로 입력을 받습니다
  • 개행문자 까지 입력을 받습니다.
한 줄에 정수 하나 입력받기
import sys

num1 = sys.stdin.readline() # 문자열로 받아서 저장
print(num1) # 문자열 타입 + '\n' 로 출력

num2 = sys.stdin.readline() # 문자열로 받아서 저장
print(int(num2) # 정수형 타입으로 변환하면서 개행문자 삭제됨

 

 

 

변환없이 개행문자는 어떻게 제거하는가?
import sys

# 입력값은 동일하게 apple으로 통일

fruit0 = sys.stdin.readline()
fruit1 = sys.stdin.readline().strip()
fruit2 = sys.stdin.readline().strip('\n')
fruit3 = sys.stdin.readline().rstrip('\n')

print('-------')

print(fruit0)  # apple\n
print(fruit1)  # apple
print(fruit2)  # apple
print(fruit3)  # apple
  • 위의 예시코드와 같이 strip() , strip('\n') , rstrip('\n') 을 사용하여 개행문자를 제거할 수 있습니다.

 

 

한 줄에 두개 이상의 정수 받기
import sys

num1, num2 = map(int, sys.stdin.readline().split()) # 100 200 띄어쓰기 구분하여 입력
print(num1, num2) 
# 100 200
반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Python' 카테고리의 다른 글

[ Python ] map(int, input().split())에 대한 정리  (0) 2023.12.14
[ Python ] 파이썬 내장함수 enumerate()  (0) 2023.12.13
[ Python ] leetcode 문제로 연결리스트 개념 정리하기 1  (0) 2023.12.13
[ Python ] 파이썬 정렬함수 sorted()  (0) 2023.12.12
'Algorithm/Python' 카테고리의 다른 글
  • [ Python ] map(int, input().split())에 대한 정리
  • [ Python ] 파이썬 내장함수 enumerate()
  • [ Python ] leetcode 문제로 연결리스트 개념 정리하기 1
  • [ Python ] 파이썬 정렬함수 sorted()
heee1
heee1
FE 개발자를 희망하는 임희원 입니다.
  • heee1
    heee1.blog
    heee1
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • Front-end (1)
        • Javascript (4)
        • Typescript (1)
        • React (0)
        • Next.js (1)
        • Tool (1)
        • Git (1)
        • Prettier (0)
        • Test-Framework (1)
        • Vercel (1)
      • 교육 (28)
        • 항해99 : 웹개발 종합반 18기 (14)
        • 프로젝트 캠프 : React 2기 (5)
        • 코드잇 스프린트 : 단기심화 5기 (9)
      • Algorithm (29)
        • Javascript (24)
        • Python (5)
      • 코드 보관함 (1)
        • 배치스크립트 ( .bat ) (1)
  • 블로그 메뉴

    • 홈
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    백준
    react-spring
    speed insights
    jest
    next.js
    오블완
    코드잇
    항해99
    JavaScript
    css animation
    Baekjoon
    테스트 프레임워크
    til
    자바스크립트
    모킹
    Python
    node.js
    tailwindcss
    스프린트
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
heee1
[ Python ] sys.stdin.readline()으로 입력 받기에 대한 정리
상단으로

티스토리툴바