ㅁ 개요
O 프로그램 소개
- 이번 글은 이전글(2022.12.10 - [분류 전체보기] - 파이썬 GUI/윈도우 폴더 용량체크 프로그램 만들기 - 2.파일 및 폴더 용량 각 각 체크)에 이은 3번째 글로 파일 및 폴더의 사이즈를 하나의 함수로 체크하는 방법에 대하여 설명합니다.
O 완성된 프로그램 실행 화면
(1) 아래 소스에서와 같이 print()문으로 폴더와 파일 크기를 구하기 위하여 둘 다 하나의 get_size()함수를 호출하고 있는 것을 볼 수 있습니다.
아래는 위 소스 실행 결과로 폴더의 크기와 파일의 크기가 정상적으로 나온것을 알 수 있습니다.
ㅁ 세부 내용
O 완성된 소스
소스 : 3.py( 파일 및 폴더 사이즈 체크)
import os
# 폴더 사이즈 확인
import os
def get_dir_size(path='.'):
total = 0
with os.scandir(path) as it:
for entry in it:
if entry.is_file():
total += entry.stat().st_size
elif entry.is_dir():
total += get_dir_size(entry.path)
return total
# 파일/폴더 둘다 사이즈 확인 시 아래 함수 사용
def get_size(path='.'):
if os.path.isfile(path):
return os.path.getsize(path)
elif os.path.isdir(path):
return get_dir_size(path)
print(get_size('./a'))
print(get_size('u.png'))
O 소스 다운로드 및 실행
O 주요 내용
1. 아래 소스에서 get_dir_size()함수는 이전 글에서 설명한 내용과 동일하며, 여기서는 get_size()함수 위주로 설명합니다.
get_size()함수의 인자로 파일 또는 폴더가 주어질 수 있는데,
인자가 파일인 경우, 'os.path.getsize(path)' 구문에 의해 파일 크기가 구해 집니다.
인자가 폴더인 경우, 이전에 만든 'get_dir_size(path)' 함수를 다시 호출하여 폴더의 크기를 구하게 됩니다.
O 소스 분석
1.
# 파일/폴더 둘다 사이즈 확인 시 아래 함수 사용
def get_size(path='.'):
if os.path.isfile(path): #<-- 인자가 파일인 경우
return os.path.getsize(path) # <-- os.path.getsize()함수로 파일의 크기를 구함
elif os.path.isdir(path): # <-- 인자가 폴더인 경우
return get_dir_size(path) # <-- get_dir_size()함수 호출
ㅁ 정리
O 우리가 배운 내용
return get_dir_size(path) # <-- get_dir_size()함수 호출
오늘은 여기까지이며, 위의 내용이 유익하셨다면, 좋아요와 구독 부탁드립니다.
감사합니다.
※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.
'파이썬 실습 > GUI,윈도우 폴더 용량 체크 프로그램 만들기' 카테고리의 다른 글
파이썬 GUI/윈도우 폴더 용량체크 프로그램 만들기 - 4.GUI/윈도우 폴더 용량체크 (0) | 2023.01.06 |
---|---|
파이썬 GUI/윈도우 폴더 용량체크 프로그램 만들기 - 2.파일 및 폴더 용량 체크1 (0) | 2023.01.06 |
파이썬 GUI/윈도우 폴더 용량체크 프로그램 만들기 - 1.소개편 (0) | 2023.01.06 |