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

Python으로 디렉터리 크기 계산하는 방법 완벽 가이드

Python에서 디렉터리의 전체 크기를 구하려면 해당 디렉터리 트리를 모두 순회하면서 각 파일의 크기를 더해야 합니다. 이를 위해 os.walk() 함수와 os.path.getsize() 함수를 함께 사용할 수 있습니다.

방법 1: os.walk()와 os.path.getsize() 사용하기

os.walk()는 시작 경로부터 하위 디렉터리까지 재귀적으로 탐색하며, 각 위치에서 파일 목록을 반환합니다. 여기에 os.path.getsize()로 파일 크기를 가져와 합산하면 디렉터리 전체 크기를 계산할 수 있습니다.

예제 코드

import os

total_size = 0
start_path = '.'  # 현재 디렉터리의 크기를 구하는 경우

for path, dirs, files in os.walk(start_path):
    for f in files:
        fp = os.path.join(path, f)
        total_size += os.path.getsize(fp)

print("Directory size: " + str(total_size))

방법 2: subprocess로 du 명령어 호출하기 (*NIX 전용)

Linux나 macOS 같은 *NIX 계열 운영체제를 사용하고 있다면, subprocess 모듈을 통해 du 명령어를 호출하는 방법이 훨씬 간단합니다. du -sh 옵션은 지정한 경로의 전체 사용량을 사람이 읽기 쉬운 형태로 요약해서 보여줍니다.

예제 코드

import subprocess

path = '.'
size = subprocess.check_output(['du', '-sh', path]).split()[0].decode('utf-8')
print("Directory size: " + size)

실행 결과

두 프로그램 중 어느 것을 실행하든 아래와 같은 출력 결과를 얻을 수 있습니다.

Directory size: 1524664

참고 사항

첫 번째 방법은 운영체제에 관계없이 동작하기 때문에 Windows 환경에서도 사용할 수 있다는 장점이 있습니다. 반면 두 번째 방법은 *NIX 시스템에서만 동작하지만, 코드가 간결하고 실행 속도가 빠릅니다. 상황에 맞게 적절한 방법을 선택하시기 바랍니다.