반응형
업무용 PC 및 노트북을 사용하다 보면 간혹 Windows OS Drive 사이즈가 부족한 경우가 발생하는데, 이때 어느 디렉토리에서 많이 사용 중인지 확인 후 필요없는 파일들을 찾아서 삭제를 해주어야 합니다.
많은 디렉토리를 하나씩 클릭하여 사이즈를 확인할 수 도 있겠지만, 이건 너~무 비효율적인 방법입니다. 이런 경우 파이썬을 통해 손쉽게 확인이 가능합니다.
아래 코드를 참조하여 나만의 디렉토리 체크 프로그램을 만들어 업무에 활용해 보시기 바랍니다.
import glob, os
import time
# 현재시간 정보
def cur_time_func():
# Current Time
now = time.localtime()
check_time = "%04d-%02d-%02d %02d:%02d:%02d" % (now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_min, now.tm_sec)
return check_time
# 디렉토리 사이즈 계산
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 main():
dir_dict = dict()
for d in glob.glob("D:\\ProgramFiles\\*" + os.path.sep):
try:
dir_size_calc = format(int(get_dir_size(d))/int(1024)/int(1024), ".1f")
dir_dict[d] = float(dir_size_calc)
except Exception as os_err:
print(cur_time_func(), '[Error]', d, os_err)
print(cur_time_func(), '[info] Directory list check completed.')
print(cur_time_func(), '[info] Directory size check completed.')
dir_sort_dict = sorted(dir_dict.items(), key=lambda item: item[1], reverse=True)
print('')
print('================================================================')
print('[ Directory Size Result ]')
print('----------------------------------------------------------------')
for i in dir_sort_dict:
dir_name = i[0]
dir_size = i[1]
print(dir_name, dir_size,'MB')
print('----------------------------------------------------------------')
print('================================================================')
if __name__ == '__main__':
main()
실행 결과는 아래와 같습니다.
2022-11-22 12:37:01 [info] Directory list check completed.
2022-11-22 12:37:01 [info] Directory size check completed.
================================================================
[ Directory Size Result ]
----------------------------------------------------------------
D:\ProgramFiles\AndroidStudio\ 1700.9 MB
D:\ProgramFiles\IBM_DS\ 395.8 MB
D:\ProgramFiles\IBM_DS_Storage_tool\ 387.6 MB
D:\ProgramFiles\Go\ 369.6 MB
D:\ProgramFiles\Microsoft VS Code\ 325.5 MB
D:\ProgramFiles\VirtualBox_old\ 264.0 MB
D:\ProgramFiles\Telegram\ 250.8 MB
D:\ProgramFiles\DBeaver\ 159.4 MB
D:\ProgramFiles\Mib_Browser\ 134.8 MB
D:\ProgramFiles\Grafana_Server_6.7.4\ 132.4 MB
D:\ProgramFiles\Grafana-6.7.4\ 132.1 MB
D:\ProgramFiles\WinMerge\ 20.5 MB
D:\ProgramFiles\resource_hacker 518 Kr\ 10.4 MB
----------------------------------------------------------------
================================================================
반응형
'Development > 파이썬 [Python]' 카테고리의 다른 글
[Python] 리눅스 환경에서 파이썬 배포파일 만들기 (0) | 2023.11.04 |
---|---|
[Python] 파이썬 파파고(Papago) API 연동 (3) | 2022.11.15 |
[Python] 파이썬 Dictionary 사용방법 (0) | 2022.10.19 |
[Python] 파이썬 3.0 이전 버전에서 한글 주석 사용하기 (0) | 2022.10.18 |
[Python] 파이썬 exe 파일 Windows 기본 icon 사용하기 (0) | 2021.02.08 |