[빅데이터분석] Python_23. 예외처리 이해하기 ③ (try~except~finally)
chonny
2024. 8. 8. 14:13
1. 리소스 정리가 필요한 경우: 파일을 여는 코드가 앞에 있었는데 코드가 끝나면 반드시 파일을 닫아야 하는 경우
2. 네트워크 연결을 했을 경우: 네트워크 연결을 해서 어떤 작업을 했는데 프로그램이 끝나면 반드시 네트워크를 끊어야하는 경우)
try:
# 파일 열기
file = open("c:\\data\\jobs.txt", "r", encoding="utf-8")
# 파일 읽기
content = file.read()
# 파일 내용 출력
print(content)
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
finally:
# 파일이 열려 있다면 닫기
if 'file' in locals() and not file.closed:
file.close()
print("파일을 닫았습니다.")
try:
# 사용자로부터 입력 받기
number1 = int(input("첫 번째 숫자를 입력하세요: "))
number2 = int(input("두 번째 숫자를 입력하세요: "))
# 나누기 수행
result = number1 / number2
print(result)
except ValueError:
# 입력값이 정수가 아닐 때 처리
print("유효한 숫자가 아닙니다. 다시 시도하세요.")
except ZeroDivisionError:
# 두 번째 숫자가 0일 때 처리
print("0으로 나눌 수 없습니다. 다른 숫자를 입력하세요.")
finally:
print("프로그램을 종료합니다.")
문제1. c드라이브-> data 폴더에 있는 텍스트 파일을 여는 프로그램을 작성하는데 다음과 같이 '파일 이름을 입력하세요~' 라는 메시지가 출력되게 하고 파일이름을 입력하면 해당 파일 내용을 출력하게 하시오. 만약 해당 파일이 없으면 파일을 찾을 수 없습니다. 라는 메시지가 출력되게 하고 파일이 없던간에 프로그램이 끝나면 '파일 읽기 작업이 종료되었습니다.' 라는 메세지가 출력되게하시오.
try:
# 파일 이름 물어보기
file_name = input('파일 이름을 입력하세요.')
# 파일 열기 (UTF-8 인코딩을 사용)
file = open("c:\\data\\" + file_name, "r", encoding="utf-8")
# 파일 읽기
content = file.read()
# 파일 내용 출력
print(content)
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
finally:
# 파일이 열려 있다면 닫기
if file:
file.close()
print("파일을 닫았습니다.")
print("파일 찾기가 종료되었습니다.")