[python] 예외 처리를 사용한 파일 입출력 에러 처리

파일을 읽거나 쓸 때는 항상 예외 처리를 고려해야 합니다. 파일이 없는 경우, 권한이 없는 경우, 또는 다른 예기치 못한 상황이 발생할 수 있기 때문입니다. 이 글에서는 Python에서 파일 입출력 시 발생할 수 있는 일반적인 에러를 다루는 방법에 대해 알아보겠습니다.

1. 파일 읽기

try:
    with open('file.txt', 'r') as file:
        data = file.read()
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
except PermissionError:
    print("해당 파일을 읽을 권한이 없습니다.")
except Exception as e:
    print("알 수 없는 에러 발생:", e)

위 예제에서는 open 함수를 사용하여 파일을 열고, FileNotFoundErrorPermissionError 예외를 처리합니다. 또한 모든 예외를 잡기 위해 Exception을 사용하여 일반적인 예외도 처리할 수 있습니다.

2. 파일 쓰기

try:
    with open('file.txt', 'w') as file:
        file.write("내용을 씁니다.")
except Exception as e:
    print("파일을 쓰는 중 에러 발생:", e)

파일을 쓸 때에도 예외 처리를 해야 합니다. 파일을 쓸 때 발생할 수 있는 예외들을 처리하여 안전하게 파일을 작성할 수 있습니다.

3. 파일 닫기

파일을 열고 작업을 마쳤다면 항상 파일을 닫아주어야 합니다. with 구문을 사용했을 때는 명시적으로 닫을 필요가 없지만, 일반적인 open 구문을 사용하였을 때는 close 메소드를 호출하여 파일을 닫아주어야 합니다.

file = open('file.txt', 'r')
try:
    data = file.read()
finally:
    file.close()

파일을 닫지 않으면 파일 핸들이 열린 채로 남아있게 되어 메모리 누수가 발생할 수 있습니다.

결론

파일 입출력 시 예외 처리는 매우 중요합니다. 파일이 없을 수도, 권한이 없을 수도, 또는 다른 이유로 작업 중 오류가 발생할 수 있기 때문에 예외 처리를 통해 이러한 상황에 대비할 수 있습니다. 안전한 파일 작업을 위해 항상 적절한 예외 처리를 고려해야 합니다.