/
rnekrasov
/
Python
Обзор
Документация
Войти
/
rnekrasov
/
Python
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
folder_size.py
47 строк
2 KB
slowy07
refactor: clean code
30 янв 2022, 04:33
30 янв 2022, 04:33
f0af0c4
Код
Авторство
О чём код?
# Script Name : folder_size.py # Author : Craig Richards # Created : 19th July 2012 # Last Modified : 22 February 2016 # Version : 1.0.1 # Modifications : Modified the Printing method and added a few comments # Description : This will scan the current directory and all subdirectories and display the size. import os import sys # Load the library module and the sys module for the argument vector''' try: directory = sys.argv[ 1 ] # Set the variable directory to be the argument supplied by user. except IndexError: sys.exit("Must provide an argument.") dir_size = 0 # Set the size to 0 fsizedicr = { "Bytes": 1, "Kilobytes": float(1) / 1024, "Megabytes": float(1) / (1024 * 1024), "Gigabytes": float(1) / (1024 * 1024 * 1024), } for (path, dirs, files) in os.walk( directory ): # Walk through all the directories. For each iteration, os.walk returns the folders, subfolders and files in the dir. for file in files: # Get all the files filename = os.path.join(path, file) dir_size += os.path.getsize( filename ) # Add the size of each file in the root dir to get the total size. fsizeList = [ str(round(fsizedicr[key] * dir_size, 2)) + " " + key for key in fsizedicr ] # List of units if dir_size == 0: print("File Empty") # Sanity check to eliminate corner-case of empty file. else: for units in sorted(fsizeList)[ ::-1 ]: # Reverse sort list of units so smallest magnitude units print first. print("Folder Size: " + units)