본문 바로가기

강의/Python 기초

Chapter 18. 폴더 용량 계산기

반응형

폴더 크기 분석 프로그램 만들기

이번 시간에는 파이썬으로 폴더의 전체 용량을 계산하는 프로그램을 만들어 보겠습니다.

컴퓨터를 사용하다 보면 어느 폴더가 용량을 많이 차지하는지 궁금할 때가 있습니다.

예를 들어 사진 폴더, 다운로드 폴더, 동영상 폴더가 너무 커지면 컴퓨터 저장 공간이 부족해질 수 있습니다.

이럴 때 파이썬을 사용하면 폴더 안에 있는 파일들의 크기를 모두 더해서 전체 폴더 용량을 계산할 수 있습니다.


1. 폴더 용량 계산기란?

폴더 용량 계산기는 폴더 안에 들어 있는 파일들의 크기를 모두 더해서 알려주는 프로그램입니다.

예를 들어 폴더 안에 파일이 이렇게 있다고 생각해 봅시다.

사진1.jpg  →  2MB
사진2.jpg  →  3MB
동영상.mp4 →  100MB

그러면 폴더 전체 용량은

2MB + 3MB + 100MB = 105MB

가 됩니다.

파이썬은 이 계산을 자동으로 해 줄 수 있습니다.


2. 사용할 파이썬 기능

이번 프로그램에서는 다음 기능을 사용합니다.

import os

os는 파이썬에서 폴더와 파일을 다룰 때 사용하는 도구입니다.

폴더 안에 어떤 파일이 있는지 확인하거나, 파일 크기를 가져올 수 있습니다.


3. 전체 프로그램 코드

import os

def get_folder_size(folder_path):
    total_size = 0

    for folder_name, sub_folders, file_names in os.walk(folder_path):
        for file_name in file_names:
            file_path = os.path.join(folder_name, file_name)

            if os.path.exists(file_path):
                total_size += os.path.getsize(file_path)

    return total_size


def convert_size(size):
    if size < 1024:
        return f"{size} Byte"
    elif size < 1024 * 1024:
        return f"{size / 1024:.2f} KB"
    elif size < 1024 * 1024 * 1024:
        return f"{size / (1024 * 1024):.2f} MB"
    else:
        return f"{size / (1024 * 1024 * 1024):.2f} GB"


print("폴더 용량 계산기")
print("====================")

folder_path = input("용량을 계산할 폴더 경로를 입력하세요: ")

if os.path.exists(folder_path):
    folder_size = get_folder_size(folder_path)
    readable_size = convert_size(folder_size)

    print()
    print("폴더 경로:", folder_path)
    print("폴더 전체 용량:", readable_size)
else:
    print("해당 폴더가 존재하지 않습니다.")

4. 코드 설명

import os

폴더와 파일을 다루기 위해 os를 불러옵니다.


def get_folder_size(folder_path):

폴더 크기를 계산하는 함수를 만듭니다.

folder_path에는 사용자가 입력한 폴더 경로가 들어갑니다.


total_size = 0

파일 크기를 모두 더할 변수를 준비합니다.

처음에는 아무 파일도 더하지 않았기 때문에 0부터 시작합니다.


for folder_name, sub_folders, file_names in os.walk(folder_path):

os.walk()는 폴더 안을 천천히 둘러보는 기능입니다.

폴더 안에 또 다른 폴더가 있어도 그 안까지 확인할 수 있습니다.


for file_name in file_names:

현재 폴더 안에 있는 파일들을 하나씩 확인합니다.


file_path = os.path.join(folder_name, file_name)

폴더 이름과 파일 이름을 합쳐서 파일의 전체 경로를 만듭니다.


total_size += os.path.getsize(file_path)

파일 크기를 가져와서 total_size에 계속 더합니다.


def convert_size(size):

파일 크기를 보기 쉽게 바꾸는 함수입니다.

컴퓨터는 파일 크기를 Byte 단위로 계산합니다.

하지만 Byte는 사람이 보기 어렵기 때문에 KB, MB, GB로 바꿔 줍니다.


5. 실행 예시

폴더 용량 계산기
====================
용량을 계산할 폴더 경로를 입력하세요: C:\Users\User\Downloads

폴더 경로: C:\Users\User\Downloads
폴더 전체 용량: 253.42 MB

6. 쉽게 이해하기

폴더 용량 계산기는 마치 가방 무게를 재는 것과 비슷합니다.

가방 안에 책, 필통, 공책이 들어 있으면 각각의 무게를 더해서 가방 전체 무게를 알 수 있습니다.

폴더도 마찬가지입니다.

폴더 안에 사진, 문서, 동영상이 들어 있으면 각각의 파일 크기를 더해서 폴더 전체 크기를 알 수 있습니다.

파이썬이 이 일을 대신 해 주는 것입니다.


7. 이번 프로그램에서 배운 내용

이번 Chapter 18에서는 다음 내용을 배웠습니다.

  • 폴더 경로 입력받기
  • 폴더 안의 파일 확인하기
  • 파일 크기 가져오기
  • 모든 파일 크기 더하기
  • Byte를 KB, MB, GB로 바꾸기

8. 마무리

이번에는 파이썬으로 폴더 용량 계산기를 만들어 보았습니다.

이 프로그램을 사용하면 어떤 폴더가 저장 공간을 많이 차지하는지 쉽게 알 수 있습니다.

나중에는 이 프로그램을 발전시켜서 용량이 큰 파일을 찾아 주는 프로그램도 만들 수 있습니다.

파이썬은 이렇게 컴퓨터 파일을 관리할 때도 아주 유용하게 사용할 수 있습니다.


폴더 용량 계산기

반응형