[python] 파이썬에서 키보드 입력 시 예외 처리하기

파이썬에서 키보드로부터 사용자 입력을 받는 경우, sometimes 예기치 않은 상황이 발생할 수 있습니다. 이런 경우를 처리하기 위해 예외 처리를 사용할 수 있습니다. 예외 처리를 통해 사용자의 잘못된 입력을 처리하고, 프로그램의 안정성을 높일 수 있습니다.

try-except 문을 사용한 예외 처리

파이썬에서는 try-except 문을 사용하여 예외 처리를 수행할 수 있습니다. try 블록에는 예외가 발생할 가능성이 있는 코드를 작성하고, except 블록에는 예외가 발생했을 때 처리해야 할 코드를 작성합니다. 예외가 발생하지 않으면 try 블록의 코드만 실행되고, 예외가 발생하면 except 블록의 코드가 실행됩니다.

아래는 키보드 입력을 받는 예제 코드입니다.

try:
    user_input = input("숫자를 입력하세요: ")
    number = int(user_input)
    print("입력한 숫자는:", number)
except ValueError:
    print("숫자를 입력해주세요.")

위 코드에서 try 블록 안에서 사용자 입력을 받고, 이를 정수로 변환하는 작업을 수행합니다. 만약 사용자가 숫자가 아닌 값을 입력하면 ValueError 예외가 발생합니다. 이 경우 except 블록의 코드가 실행되어 “숫자를 입력해주세요.” 메시지가 출력됩니다.

여러 개의 except 블록 사용하기

하나의 try 블록에서 여러 가지 종류의 예외를 처리하고 싶은 경우, 여러 개의 except 블록을 사용할 수 있습니다. 각각의 except 블록은 특정한 예외 타입을 지정하고 해당 예외 타입의 예외가 발생했을 때 실행될 코드를 작성합니다.

아래는 여러 가지 예외를 처리하는 예제 코드입니다.

try:
    user_input = input("파일명을 입력하세요: ")
    with open(user_input, 'r') as file:
        content = file.read()
        print("파일 내용:", content)
except FileNotFoundError:
    print("해당 파일이 존재하지 않습니다.")
except PermissionError:
    print("파일에 대한 접근 권한이 없습니다.")

위 코드에서 try 블록 안에서 사용자로부터 파일명을 입력받고, 해당 파일을 읽어서 내용을 출력합니다. 만약 파일이 존재하지 않으면 FileNotFoundError 예외가, 파일에 대한 접근 권한이 없으면 PermissionError 예외가 발생합니다. 각각의 예외에 대한 처리는 except 블록에서 수행됩니다.

마무리

파이썬에서 키보드 입력을 받을 때 예외 처리를 통해 예외 상황을 처리할 수 있습니다. try-except 문을 사용하여 예외 처리를 구현하고, 여러 개의 except 블록을 사용하여 다양한 예외를 처리할 수 있습니다. 예외 처리를 통해 프로그램의 안정성을 높이고 예기치 않은 상황에 대비할 수 있습니다.

참고 문서: