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/runMD/"
# 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: