[c] 파일 입출력 예외 처리

이 글에서는 Python에서 파일을 읽고 쓸 때 발생할 수 있는 예외 처리에 대해 알아보겠습니다. 파일 입출력은 많은 상황에서 사용되므로, 예외 처리를 통해 안정성을 높일 수 있습니다.

[파일 열기 예외 처리]

try:
    file = open("example.txt", "r")
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
except PermissionError:
    print("파일에 대한 권한이 없습니다.")
else:
    content = file.read()
    file.close()
    print(content)

위의 코드에서는 open() 함수 호출 시 발생 가능한 두 가지 예외, FileNotFoundErrorPermissionError,를 처리하고 있습니다.

[파일 읽기/쓰기 예외 처리]

try:
    with open("example.txt", "r") as file:
        content = file.read()
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
except PermissionError:
    print("파일에 대한 권한이 없습니다.")
else:
    print(content)
    try:
        with open("output.txt", "w") as output_file:
            output_file.write(content)
    except IOError:
        print("파일을 쓸 수 없습니다.")

파일을 읽거나 쓸 때 발생할 수 있는 예외 역시 처리할 수 있습니다. with 문을 사용하면 파일을 안전하게 다룰 수 있으며, IOError는 파일을 쓸 때 발생 가능한 예외입니다.

[파일 닫기 예외 처리]

file = None
try:
    file = open("example.txt", "r")
    content = file.read()
finally:
    if file is not None:
        file.close()

파일을 올바르게 닫는 것이 중요합니다. try...finally 구문을 사용하면 파일을 열었을 때 예외가 발생하더라도 파일을 닫을 수 있습니다.

이렇게 파일 입출력 예외 처리를 통해 안정성을 높일 수 있습니다. 파일 입출력 시 발생할 수 있는 다양한 상황을 고려하여 적절히 예외 처리를 하는 것이 중요합니다.