Organización de Archivos por Extensión usando Python
En este artículo, te mostraré cómo crear un script en Python que recorre una carpeta y todas sus subcarpetas, extrayendo todos los archivos y organizándolos en una carpeta diferente, separándolos por la extensión de los archivos. Este método es útil para mantener tus archivos organizados automáticamente.
Script en Python
El siguiente script realiza la tarea de organizar los archivos según su extensión:
import os
import shutil
def organize_files_by_extension(source_folder, destination_folder):
if not os.path.exists(destination_folder):
os.makedirs(destination_folder)
for root, dirs, files in os.walk(source_folder):
for file in files:
file_extension = file.split('.')[-1]
extension_folder = os.path.join(destination_folder, file_extension)
if not os.path.exists(extension_folder):
os.makedirs(extension_folder)
source_file_path = os.path.join(root, file)
destination_file_path = os.path.join(extension_folder, file)
shutil.copy2(source_file_path, destination_file_path)
print(f"Copied: {source_file_path} to {destination_file_path}")
source_folder = 'ruta/a/tu/carpeta/origen'
destination_folder = 'ruta/a/tu/carpeta/destino'
organize_files_by_extension(source_folder, destination_folder)
Explicación del Código
Este script sigue los siguientes pasos:
-
Importación de Módulos: Se importan los módulos
os
para manipular rutas y recorrer directorios, yshutil
para copiar archivos. -
Función
organize_files_by_extension
: Esta función toma dos argumentos: la carpeta de origen y la de destino. Recorre todas las carpetas y subcarpetas dentro de la carpeta origen, creando subcarpetas en la carpeta destino basadas en la extensión de los archivos y copiando cada archivo a su subcarpeta correspondiente. - Ejecución del Script: Finalmente, se definen las rutas de las carpetas y se llama a la función con esas rutas.
Conclusión
Con este script, puedes mantener organizados tus archivos automáticamente, simplemente especificando la carpeta de origen y destino. Python facilita la automatización de tareas como esta, ahorrándote tiempo y esfuerzo.