Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)에서 파일을 안전하게 열고 닫는 방법

파이썬에서 파일 열기: open() 함수 기본 사용법

파이썬에서는 open() 함수를 사용하여 파일을 엽니다. 가장 기본적인 사용 예시는 다음과 같습니다.

f = open('my_file', 'r+')
my_file_data = f.read()
f.close()

위 코드는 'my_file' 파일을 읽기 모드로 연 뒤, 파일에서 읽은 데이터를 my_file_data 변수에 저장하고 마지막에 파일을 닫습니다. open() 함수의 첫 번째 인자는 파일 이름(경로)이며, 두 번째 인자는 파일을 어떤 방식으로 열지 결정하는 열기 모드(open mode)입니다.

주요 파일 열기 모드

  • 'r' — 파일을 읽기만 할 때 사용합니다.
  • 'r+' — 파일을 읽고 쓰기 작업을 모두 수행할 때 사용합니다.
  • 'w' — 기존 내용을 지우고 파일을 새로 덮어쓸 때 사용합니다.
  • 'a' — 기존 파일의 끝에 내용을 추가(append)할 때 사용합니다.

파일 핸들과 close()의 중요성

파일을 열면 운영체제는 해당 파일을 읽고 쓸 수 있도록 파일 핸들(file handle)을 부여합니다. 파일 사용이 끝나면 반드시 f.close()를 호출해 이 핸들을 해제해야 합니다.

하지만 프로그램 실행 도중 에러가 발생하여 f.close()까지 실행되지 않으면, 파일이 계속 열려 있는 상태로 남게 됩니다. 이는 리소스 누수나 데이터 손상과 같은 문제로 이어질 수 있습니다.

with 문으로 안전하게 파일 닫기

이러한 문제를 예방하려면 with open(...) as f 구문을 사용하는 것이 좋습니다. 이 구문은 에러 발생 여부와 관계없이 코드 블록이 종료되는 순간 파일을 자동으로 닫아 줍니다.

with open('my_file', 'r+') as f:
    my_file_data = f.read()

with 문을 사용하면 별도로 close()를 호출할 필요가 없어 코드가 간결해지고 안전해집니다. 따라서 파이썬에서 파일을 다룰 때는 항상 with 문을 사용하는 것이 권장됩니다.