일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 시스템 소프트웨어
- DP
- 컴퓨터 동작방식
- ARP
- 자료형
- OSI7계층모델
- 라우팅
- 쿠키
- CS
- RARP
- icmp
- 파이썬 자료형
- 이것이 취업을 위한 코딩 테스트다
- 파이썬 연산자
- 파이썬 정렬
- data type
- 리스트
- 기억장치
- 북클럽
- IT5분잡학사전
- sort()
- GIT
- 데이터통신
- 데이터 통신과 컴퓨터 네트워크
- 이코테
- 이것이 취업을 위한 코딩테스트다
- 노마드코더
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- 컴퓨터네트워크
- 노개북
- Today
- Total
뚝딱햄 탈출기
[Python] VSCode에서 txt파일 통한 입력값 받기 본문
백준 문제를 풀 때 입력값을 직접 받아야 하기 때문에 입력을 받기 위한 코드를 작성하고, 코드 실행 후 터미널에서 입력값을 일일이 쳐야 하는데 오타 가능성도 있고, 여러 값을 넣어야 할 때는 여간 귀찮은 일이 아니다.
그럴 땐 .txt 파일을 별도로 만들어 예제 입력 값을 복붙해 저장해 두고, 실행할. py 파일에서 sys 라이브러리를 import 해준 후 아래 코드를 넣어 입력 값을 불러올 수 있다 !
import sys
sys.stdin = open('input.txt') # '예제 입력을 복붙해둔 txt 파일명.txt'
이 때, .py 파일과 .txt 파일은 같은 디렉터리에 위치해야 한다.
이 방법은 간결하기도 하지만, readline()을 불러오기 좋다고 생각한다.
readline()으로 입력을 받도록 작성된 코드에서 import sys
바로 아래 라인에 sys.stdin = open('input.txt')
을 추가하기만 하면 이미 작성한 코드를 수정하지 않고 입력값을 편하게 받아올 수 있다!
readline()은 input() 보다 훨씬 빠른 속도로 입력값을 받는다. 따라서 입력의 개수가 많은 경우 input()으로 입력값을 받으면 시간 초과가 발생할 수 있으므로 나는 문제를 풀 때 readline()을 사용해 입력을 받는다.
input()은 줄 바꿈을 제거한 뒤 값을 반환하지만, readline()은 입력값에 개행이 포함된 상태로 값을 반환하기 때문에 (줄 바꿈을 제거하는 과정을 거치지 않아 input()보다 더 빠르기도 하다.) 개행을 제거하기 위한 .rstrip()을 붙여 작성해 준다.
.rstrip()을 붙이지 않으면 입력값에 개행을 추가한 값을 반환하기 때문에 위와 같이 출력된다. (readline() 개행 + print() 개행)
.rstrip()은 문자열 오른쪽의 공백을 제거해 주므로 입력값을 입력받은 후 줄 바꿈이 제거되어 위와 같이 출력된다. (print()로 인한 개행만 발생!)