EoFerror 는 input() 메서드를 통해 값을 입력 받은 경우에 입력 값이 없을때 발생하는 에러 이다.
예외처리 에서의 활용
예외처리 에서 입력이 없을 때 까지 입력을 받는 경우에 다음 에러를 이용할 수 있다. 기본적인 구조는 다음과 같다.
while True:
try:
except:
break
try 구문에서 값을 입력 받는다. 여기서는 input() 메서드로 값을 입력 받아야 한다.
만약 입력 값이 없는 경우에 input()메서드가 EoFerror를 발생시키고 except 구문에 들어가 while에 따른 무한 반복문을 종료시켜 프로그램 혹은 입력을 중단 시킨다.
readline()을 활용한 경우
입력값이 없을때 까지 값을 입력을 받는 문제에서 추가적인 방법이 있다. sys.stdin의 readline()의 경우에 입력값이 없을때 빈 문자열을 출력하기 때문에 입력값이 빈 문자열일때 프로그램을 종료하는 방식으로 위의 코드를 대체할 수 있다.
import sys
while True:
x = sys.stdin.readline().strip()
if x == "":
break