바이너리 파일이란?
바이너리(binary) 파일은 사람이 읽을 수 있는 문자로 구성되지 않은 형식의 파일을 말합니다. 대표적인 예로 GIF 같은 이미지 파일, MP3 같은 오디오 파일, 그리고 Word나 PDF처럼 바이너리 문서 형식으로 저장된 파일들이 있습니다.
이러한 바이너리 파일을 추가(append) 모드로 열려면 파일을 열 때 모드를 지정하는 부분에 'ab'를 사용하면 됩니다. 추가 모드에서는 기존 파일의 내용을 덮어쓰지 않고 파일 끝에 새 데이터를 이어서 쓸 수 있습니다.
기본 사용 예제
f = open('my_file.mp3', 'ab')
file_content = f.read()
f.close()위 코드는 my_file.mp3 파일을 바이너리 추가 모드로 연 뒤, 파일 내용을 file_content 변수에 저장하고 파일을 닫습니다.
더 안전한 방법: with 문 활용
파일을 열고 나서 반드시 닫아야 하므로, with 문을 사용하면 코드가 더 간결해지고 파일이 자동으로 닫히기 때문에 실수를 줄일 수 있습니다.
with open('my_file.mp3', 'ab') as f:
f.write(b'new data')읽기와 쓰기를 동시에 하려면
파일의 내용을 읽으면서 동시에 데이터를 추가하고 싶다면 'ab+' 모드를 사용할 수 있습니다. 이 모드에서는 파일 포인터를 이동시켜 읽기와 쓰기를 모두 수행할 수 있습니다.
with open('my_file.mp3', 'ab+') as f:
f.seek(0) # 파일 처음으로 이동
content = f.read() # 내용 읽기
f.write(b'more') # 끝에 데이터 추가정리하면, Python에서 바이너리 파일을 추가 모드로 다룰 때는 'ab'(쓰기 전용 추가) 또는 'ab+'(읽기·쓰기 모두 가능) 모드를 사용하면 되며, with 문과 함께 사용하는 것이 가장 안전하고 권장되는 방법입니다.