[파이썬] os `os.truncate()`를 사용한 파일 크기 조정

파일 크기는 때때로 우리에게 중요합니다. 때로는 파일의 크기를 늘리거나 줄여야 할 때가 있습니다. 이때 Python의 os 모듈과 os.truncate() 함수를 사용하면 파일의 크기를 손쉽게 조정할 수 있습니다. 이번 블로그 포스트에서는 os.truncate() 함수를 사용하여 파일 크기를 조정하는 방법을 알아보겠습니다.

os.truncate() 함수란?

os.truncate() 함수는 주어진 파일을 지정된 크기로 조정하는 함수입니다. 이 함수를 사용하면 파일의 크기를 조정하여 파일의 일부를 잘라내거나 파일에 추가 데이터를 쓸 수 있습니다. 이 함수는 파일을 열고 조작하는 작업을 수행하기 때문에 os 모듈을 먼저 import해야 합니다.

import os

파일 크기 조정하기

파일 크기를 조정하기 위해 os.truncate() 함수를 사용하기 전에 파일을 열어야 합니다. 파일을 열 때는 open() 함수를 사용하여 파일 객체를 생성합니다.

file_path = "파일 경로"
file_size = 1024   # 조정하고자 하는 크기 (바이트 단위)

with open(file_path, "r+") as file:
    # 파일 크기 조정
    file.truncate(file_size)

위의 예제 코드에서는 file_path 변수에 조정하고자 하는 파일의 경로를 지정하고, file_size 변수에 조정하고자 하는 크기(바이트 단위)를 지정합니다. open() 함수를 사용하여 파일을 열 때는 “r+” 모드를 사용하여 읽기 및 쓰기 모드로 엽니다. 이렇게 열리면 파일의 내용을 읽거나 쓸 수 있게 됩니다.

그 다음, file.truncate(file_size) 함수를 사용하여 파일의 크기를 조정합니다. 이 함수는 주어진 파일의 크기를 file_size로 설정합니다. 파일의 크기가 file_size보다 클 경우, 파일의 끝 부분을 잘라냅니다. 파일의 크기가 file_size보다 작을 경우, 파일 뒷부분에 공백을 추가하여 크기를 늘립니다.

파일의 크기를 조정할 때는 새로운 크기를 지정해야 하므로 주의해야 합니다. 파일의 크기를 줄이려면 원하는 크기 이후의 데이터를 모두 잘라내야 하므로 조심해야 합니다.

예외 처리하기

os.truncate() 함수를 사용할 때는 예외 처리를 해주는 것이 좋습니다. 파일을 열거나 크기를 조정하는 과정에서 오류가 발생할 수 있기 때문입니다. try-except 구문을 사용하여 예외 처리를 해주면 더 안정적인 코드를 작성할 수 있습니다.

try:
    with open(file_path, "r+") as file:
        file.truncate(file_size)
except OSError as e:
    print(f"파일 크기 조정 실패: {e}")

위의 예제 코드에서는 OSError를 사용하여 파일 크기 조정 과정에서 발생하는 오류를 처리합니다. 예외가 발생하면 except 구문으로 넘어가게 되고, OSError에서 정의된 예외 메시지를 출력합니다.

마무리

파일 크기 조정은 파일을 조작할 때 자주 사용되는 작업 중 하나입니다. Python의 os 모듈과 os.truncate() 함수를 사용하면 파일의 크기를 손쉽게 조정할 수 있습니다. 이번 블로그 포스트에서는 os.truncate() 함수를 사용하여 파일 크기를 조정하는 방법을 배웠습니다. 이 기능을 활용하여 파일을 보다 유연하게 조작할 수 있기를 바랍니다.