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

파이썬 open() 함수 완벽 정리: 파일 열기부터 모드와 with문 활용까지

파이썬 open() 함수란?

파이썬에서 open() 함수는 파일을 열 때 사용하는 내장 함수입니다. 이 함수를 통해 텍스트 파일, CSV, 설정 파일 등 다양한 파일을 읽거나 쓸 수 있습니다.

open() 함수 기본 사용법

가장 기본적인 사용 예시는 다음과 같습니다.

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

위 코드는 'my_file' 파일을 읽고 쓰기 모드(r+)로 연 뒤, 파일의 내용을 읽어 my_file_data 변수에 저장하고 마지막에 파일을 닫습니다.

open() 함수의 첫 번째 인자는 파일 이름(경로), 두 번째 인자는 파일 열기 모드입니다. 열기 모드는 파일을 어떤 방식으로 열지 결정합니다.

파일 열기 모드 종류

  • 'r': 파일을 읽기 전용으로 엽니다. (기본값)
  • 'r+': 파일을 읽고 쓸 수 있도록 엽니다.
  • 'w': 파일을 쓰기 전용으로 열며, 기존 내용을 모두 덮어씁니다.
  • 'a': 파일 끝에 새로운 내용을 추가(append)합니다.

예를 들어 단순히 파일을 읽고 싶다면 'r'을, 기존 파일을 수정하면서 읽어야 한다면 'r+'를 전달하면 됩니다.

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

파일을 열면 운영체제는 해당 파일을 읽고 쓰기 위한 파일 핸들(file handle)을 제공합니다. 따라서 파일 사용이 끝나면 반드시 f.close()를 호출해 핸들을 해제해야 합니다.

그런데 만약 프로그램 실행 중 오류가 발생해 f.close()가 호출되지 않으면, 파일이 계속 열린 상태로 남아 리소스 누수나 접근 문제가 생길 수 있습니다.

이런 문제를 방지하려면 with open(...) as f 구문을 사용하는 것이 좋습니다. 이 구문은 오류 발생 여부와 관계없이 코드 블록이 끝나면 파일을 자동으로 닫아줍니다.

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

결론적으로, 파이썬에서 파일을 다룰 때는 open() 함수로 파일을 열고, 목적에 맞는 모드를 지정하며, 가능하면 with문을 사용해 파일을 안전하게 관리하는 것이 가장 좋은 습관입니다.