Script de Python 3 para calcular el espacio (MB) que ocupan todas las subcarpetas dentro de una carpeta.

Tendrás que editar el script y cambiar las rutas de la carpeta raíz que se desea analizar (en mi caso "/home/jant.encinar/runDCs/"), la ruta de la carpeta donde se guardará el archivo de texto (en mi caso "/home/jant.encinar/py-linux/02-espacio-subcartepa/") y el nombre del archivo de texto que guarde la información de salida (en mi caso "espacio-subcarpetas.txt").

import os

    # Definir la ruta de la carpeta raíz que se desea analizar
    root_dir = "/home/jant.encinar/runDCs/"
    
    # Definir la ruta de la carpeta donde se guardará el archivo de texto
    output_dir = "/home/jant.encinar/py-linux/02-espacio-subcartepa/"
    
    # Crear una lista para almacenar los resultados
    results = []
    
    # Recorrer todas las subcarpetas en la carpeta raíz
    for subdir in os.listdir(root_dir):
        # Comprobar que cada elemento en la carpeta raíz es una subcarpeta
        if os.path.isdir(os.path.join(root_dir, subdir)):
            # Calcular el tamaño de la subcarpeta en megabytes
            size_mb = round(sum(os.path.getsize(os.path.join(dirpath, filename)) for dirpath, dirnames, filenames in os.walk(os.path.join(root_dir, subdir)) for filename in filenames) / (1024 * 1024), 2)
            # Añadir el nombre de la subcarpeta y su tamaño a la lista de resultados
            results.append((subdir, size_mb))
    
    # Ordenar los resultados por orden alfabético del nombre de la subcarpeta
    results_sorted = sorted(results, key=lambda x: x[0])
    
    # Crear el archivo de texto con los resultados
    output_file = os.path.join(output_dir, "espacio-subcarpetas.txt")
    with open(output_file, "w") as f:
        # Escribir los resultados ordenados en el archivo de texto
        for result in results_sorted:
            f.write(f"{result[0]}\t{result[1]} MB\n")    

Podrás ver unos resultados en el fichero de texto parecidos a los que muestra la siguiente imagen: