[파이썬] 파일 객체와 이진 데이터 쓰기

파이썬에서는 파일 객체를 사용하여 이진 데이터를 쓸 수 있습니다. 이진 데이터는 바이트 단위로 작성된 데이터로, 텍스트 데이터와 달리 특정 형식을 가지며 인코딩되지 않습니다. 이는 주로 이미지, 동영상, 음악 파일과 같은 멀티미디어 파일에서 사용됩니다.

파이썬에서 파일 객체를 사용하여 이진 데이터를 쓰기 위해서는 파일을 바이너리 모드로 열어야 합니다. 바이너리 모드로 파일을 열면 파일 객체에 이진 데이터를 쓸 수 있는 write() 메서드가 제공됩니다. 아래는 파일 객체를 이용하여 이진 데이터를 쓰는 예제 코드입니다.

with open("binary_data.bin", "wb") as file:
    data = b'\x41\x42\x43\x44'  # 이진 데이터
    file.write(data)

위의 코드에서는 open() 함수를 사용하여 binary_data.bin 파일을 바이너리 쓰기 모드("wb")로 엽니다. with 문을 사용하여 파일을 열고, 데이터를 쓴 후에 자동으로 파일을 닫습니다. 이진 데이터는 bytes 타입으로 정의되며, b 접두사를 사용하여 정의됩니다. 예제에서는 \x41\x42\x43\x44를 이진 데이터로 사용하였습니다.

파일을 열고 이진 데이터를 쓰는 방법을 알았다면, 다음은 더욱 복잡한 이진 데이터를 쓰는 예제 코드를 살펴보겠습니다.

with open("binary_data.bin", "wb") as file:
    number = 1234567890
    data = number.to_bytes(4, byteorder='big')
    file.write(data)

위의 코드에서는 number 변수에 정수 값을 저장하고, to_bytes() 메서드를 사용하여 이진 데이터로 변환합니다. to_bytes() 메서드는 정수 값을 바이트로 변환하는데 사용되며, 첫 번째 매개변수로 변환 후의 바이트 수를, 두 번째 매개변수로는 바이트 순서를 지정합니다. 예제에서는 4개의 바이트를 사용하고, 바이트 순서는 big-endian으로 지정되었습니다.

파일 객체와 이진 데이터를 사용하여 파일에 데이터를 쓰는 방법에 대해 알아보았습니다. 이러한 기능은 파이썬을 사용하여 반복적으로 작업하고 파일을 다루는 경우 유용하게 활용될 수 있습니다.