El siguiente programa de Python permite buscar el archivo más grande dentro de una ruta y todas sus subcarpetas (o sea, la búsqueda es recursiva). La ruta debe pasarse como primer argumento al invocar el archivo. Además, opcionalmente se puede pasar un segundo argumento que indique una extensión de archivo para limitar la búsqueda.
import os import pathlib import sys target_path = pathlib.Path(sys.argv[1]) try: target_ext = sys.argv[2] except IndexError: target_ext = None current_max_size = 0 print("Buscando...") # Recorrer la ruta especificada. for dirpath, dirnames, filenames in os.walk(target_path): # Chequear archivo por archivo. for filename in filenames: # Ignorar los archivos que no tengan la extensión especificada, # si es que se indicó alguna. if (target_ext is not None and not filename.lower().endswith(target_ext.lower())): continue p = pathlib.Path(dirpath, filename) # https://micro.recursospython.com/recursos/como-obtener-el-tamano-de-un-archivo.html if (size := p.stat().st_size) > current_max_size: # Actualizar las variables que contienen el archivo # más grande encontrado hasta el momento. current_max_size = size biggest_file = p print("Archivo más grande hasta el momento:", filename) print(f"Archivo más grande final: {biggest_file.absolute()} " f"({current_max_size // 1024} KB)")
Por ejemplo, para buscar el archivo más grande dentro de C:\Python310
y sus subcarpetas, ejecutar en la terminal:
py buscar_archivo.py C:\Python310
Para buscar el archivo de Python (.py
) más grande:
py buscar_archivo.py C:\Python310 .py
El código es multiplataforma. En macOS y distribuciones de Linux utilícese python
o python3
en lugar de py
.
Curso online 👨💻
¡Ya lanzamos el curso oficial de Recursos Python en Udemy!
Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter
en 2024.
Consultoría 💡
Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.