Ejercicio 10b
This commit is contained in:
parent
b9831397ef
commit
ee44448de9
|
@ -2,3 +2,37 @@
|
||||||
Project: Deleting Unneeded Files
|
Project: Deleting Unneeded Files
|
||||||
Page 247
|
Page 247
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
def get_path():
|
||||||
|
if len(sys.argv) != 2:
|
||||||
|
print("ERROR: solo un argumento es necesario")
|
||||||
|
sys.exit(1)
|
||||||
|
path = Path(sys.argv[1])
|
||||||
|
if not path.is_dir():
|
||||||
|
print(f"ERROR: '{path}' no es una ruta a un directorio")
|
||||||
|
sys.exit(1)
|
||||||
|
return path.resolve()
|
||||||
|
|
||||||
|
|
||||||
|
root = get_path()
|
||||||
|
size_max = 100
|
||||||
|
big_files = []
|
||||||
|
|
||||||
|
for path in list(root.glob("**/*")):
|
||||||
|
size_mb = round(path.lstat().st_size / (1024*1024), 2)
|
||||||
|
if size_mb >= size_max:
|
||||||
|
big_files.append({"size": size_mb, "path": path})
|
||||||
|
|
||||||
|
print(f"Mostrando archivos >= a {size_max}MB:")
|
||||||
|
# print(f"Eliminando archivos >= a {size_max}MB:")
|
||||||
|
big_files = sorted(big_files, reverse=True, key=lambda f: f['size'])
|
||||||
|
biggest = str(format(big_files[0]["size"], ","))
|
||||||
|
for file in big_files:
|
||||||
|
size = str(format(file["size"], ","))
|
||||||
|
space = " " * (len(biggest) - len(size))
|
||||||
|
print(f"[{space}{size}] {file['path']}")
|
||||||
|
# file["path"].unlink() # PELIGRO: si se descomenta eliminará el archivo
|
||||||
|
|
Loading…
Reference in New Issue