[파이썬] 파일 객체의 읽기와 쓰기 예외 상황

파이썬에서 파일을 읽거나 쓸 때는 예외 처리가 필요한 경우가 있습니다. 파일 작업 중에 발생할 수 있는 예외 상황에 대해 알아보고, 어떻게 예외 처리를 할 수 있는지 살펴보겠습니다.

파일 읽기 예외 상황

파일이 존재하지 않는 경우

try:
    file = open("nonexistent_file.txt", "r")
    # 파일을 읽는 작업 수행
except FileNotFoundError:
    print("파일이 존재하지 않습니다.")

파일을 읽기 모드로 열 때, 파일이 존재하지 않으면 FileNotFoundError가 발생합니다. 이 경우 try-except 문을 사용하여 예외를 처리할 수 있습니다.

파일 읽기 도중 에러가 발생한 경우

try:
    file = open("example.txt", "r")
    # 파일을 읽는 작업 수행
except IOError:
    print("파일을 읽는 도중 에러가 발생했습니다.")

파일을 읽는 도중에 에러가 발생할 경우, IOError 예외가 발생합니다. 이를 처리하기 위해 try-except 문을 사용합니다.

파일 쓰기 예외 상황

파일 쓰기 권한이 없는 경우

try:
    file = open("example.txt", "w")
    # 파일에 쓰는 작업 수행
except PermissionError:
    print("파일에 쓰기 권한이 없습니다.")

파일을 쓰기 모드로 열 때, 파일에 쓰기 권한이 없으면 PermissionError가 발생합니다. 이를 처리하기 위해 try-except 문을 사용합니다.

파일 쓰기 도중 에러가 발생한 경우

try:
    file = open("example.txt", "w")
    # 파일에 쓰는 작업 수행
except IOError:
    print("파일에 쓰는 도중 에러가 발생했습니다.")

파일에 쓰는 도중에 에러가 발생할 경우, IOError 예외가 발생합니다. 이를 처리하기 위해 try-except 문을 사용합니다.

파일 작업 후 자동으로 파일 닫기

파일 작업이 끝나면 파일을 명시적으로 닫아주는 것이 좋습니다. 하지만 실수로 파일을 닫지 않을 수 있으므로, with 문을 사용하여 파일 작업이 끝난 후 자동으로 파일을 닫을 수 있습니다.

try:
    with open("example.txt", "r") as file:
        # 파일을 읽는 작업 수행
except FileNotFoundError:
    print("파일이 존재하지 않습니다.")

with 문을 사용하면 파일을 열고 닫는 작업을 자동으로 처리할 수 있습니다. 이를 활용하여 파일 작업을 보다 안전하게 수행할 수 있습니다.

파일 작업을 수행할 때 발생할 수 있는 다양한 예외 상황을 처리하는 것은 중요합니다. 이를 통해 오류를 예방하고, 안전하게 파일 작업을 수행할 수 있습니다.