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

Python 파일 열기 모드 완벽 가이드: r, w, x, a, t, b, + 의미와 활용법

Python 파일 열기 모드란?

Python에서는 open() 함수를 사용할 때 두 번째 인자로 파일 모드(mode)를 지정하여 파일을 다양한 방식으로 열 수 있습니다. 각 모드는 파일을 읽을지, 쓸지, 추가할지 등의 동작 방식을 결정하며, 필요에 따라 여러 모드를 조합해서 사용할 수도 있습니다.

파일 모드 종류

모드설명
'r'읽기 모드 (기본값). 파일의 내용을 읽기만 할 수 있습니다.
'w'쓰기 모드. 파일이 없으면 새로 생성하고, 이미 존재하면 기존 내용을 모두 삭제(잘라내기)한 후 처음부터 씁니다.
'x'배타적 생성 모드. 새 파일을 생성하는 데만 사용되며, 같은 이름의 파일이 이미 존재하면 오류(FileExistsError)가 발생합니다.
'a'추가(append) 모드. 기존 내용을 지우지 않고 파일 끝에 이어서 씁니다. 파일이 없으면 새로 생성합니다.
't'텍스트 모드 (기본값). 문자열 단위로 파일을 다룹니다.
'b'바이너리 모드. 이미지, 실행 파일 등 바이트 단위 데이터를 다룰 때 사용합니다.
'+'갱신(update) 모드. 읽기와 쓰기를 동시에 할 수 있도록 파일을 엽니다.

모드 조합하기

위 모드들은 서로 조합하여 사용할 수 있으며, 파일을 열 때 두 번째 인자로 전달하면 됩니다. 예를 들어 'rb'는 바이너리 읽기, 'w+b'는 바이너리 읽기·쓰기를 의미합니다. 만약 모드를 지정하지 않고 파일을 열면 기본적으로 읽기 전용 텍스트 모드('rt')로 열립니다.

사용 예제

f = open("test.txt")        # 'rt'와 동일 (기본값: 읽기 전용 텍스트 모드)
f = open("test.txt", 'w')   # 텍스트 모드로 쓰기
f = open("test.bmp", 'r+b') # 바이너리 모드로 읽기/쓰기
f = open("test.txt", 'a')   # 추가(append) 모드

참고 팁

파일 작업이 끝난 후에는 반드시 close()로 파일을 닫거나, with open(...) as f: 구문을 사용하면 블록이 끝날 때 자동으로 파일이 닫히므로 더 안전하게 리소스를 관리할 수 있습니다.