Python: mueve todos los archivos de las subcarpetas a la carpeta principal

Este artículo discutirá cómo mover todos los archivos de la subcarpeta a la carpeta principal usando Python. El enfoque es simple, es similar a mover archivos de una carpeta a otra usando Python, excepto que aquí la carpeta principal o la carpeta principal de la subcarpeta se pasa como destino.

Módulos utilizados

  • Módulo OS: El módulo OS en Python proporciona funciones para interactuar con el sistema operativo. Proporciona una forma portátil de usar la funcionalidad dependiente del sistema operativo. os.path es un submódulo del módulo OS.
  • Módulo Shutil: el módulo Shutil en Python proporciona muchas funciones en archivos y colecciones de archivos. Este módulo se incluye en los módulos de utilidad estándar de Python. Este módulo ayuda a automatizar el proceso de copia y eliminación de archivos y directorios.

Funciones utilizadas

  • El método os.path.join() en Python une uno o más componentes de ruta de manera inteligente. Este método concatena varios componentes de ruta con exactamente un separador de directorio (‘/’) después de cada parte no vacía excepto el último componente de ruta. Si el último componente de ruta que se va a unir está vacío, se coloca un separador de directorio (‘/’) al final. Si un componente de ruta representa una ruta absoluta, todos los componentes anteriores unidos se descartan y la unión continúa desde el componente de ruta absoluta.
     

Sintaxis: os.path.join(ruta, *ruta) 
Parámetro:  
ruta : Un objeto similar a una ruta que representa una ruta del sistema de archivos. 
*ruta : un objeto similar a una ruta que representa una ruta del sistema de archivos. Representa los componentes del trayecto que se van a unir. 
Un objeto similar a una ruta es una string o un objeto de bytes que representa una ruta.
Nota: La sintaxis especial *args (aquí *paths) en las definiciones de funciones en python se usa para pasar un número variable de argumentos a una función. 
Tipo de devolución: este método devuelve una string que representa los componentes de ruta concatenados. 

  • El método os.listdir() en python se usa para obtener la lista de todos los archivos y directorios en el directorio especificado. Si no especificamos ningún directorio, se devolverá la lista de archivos y directorios en el directorio de trabajo actual.

Sintaxis: os.listdir(ruta)
Parámetros: 
ruta (opcional): ruta del directorio
Tipo de devolución: este método devuelve la lista de todos los archivos y directorios en la ruta especificada. El tipo de retorno de este método es lista.

  • Método shutil.move() Mueve recursivamente un archivo o directorio (fuente) a otra ubicación (destino) y devuelve el destino. Si el directorio de destino ya existe, src se mueve dentro de ese directorio. Si el destino ya existe pero no es un directorio, entonces se puede sobrescribir dependiendo de la semántica os.rename().

Sintaxis: shutil.move(origen, destino, copy_function = copy2)

Parámetros:
fuente: una string que representa la ruta del archivo fuente.
destino: una string que representa la ruta del directorio de destino.
copy_function (opcional): el valor predeterminado de este parámetro es copy2. Podemos usar otra función de copia como copiar, árbol de copias, etc. para este parámetro.

Valor devuelto: este método devuelve una string que representa la ruta del archivo recién creado.

Para mover archivos de la subcarpeta a la carpeta principal, primero debemos importar los paquetes necesarios y luego especificar las rutas del directorio de origen y destino. Como directorio de destino, recuerde pasar el destino de la carpeta principal. Ahora agregue disposiciones para mover archivos recursivamente desde el origen hasta el destino.

Carpeta de origen (subcarpeta):

carpeta_origen 

Carpeta de destino (carpeta principal):

carpeta_destino antes de compilar

Programa :

Python3

import shutil
import os
  
# Define the source and destination path
source = "Desktop/content/waste/"
destination = "Desktop/content/"
  
# code to move the files from sub-folder to main folder.
files = os.listdir(source)
for file in files:
    file_name = os.path.join(source, file)
    shutil.move(file_name, destination)
print("Files Moved")

Producción:

Archivos movidos

carpeta_destino después de compilar

salida.gif

Publicación traducida automáticamente

Artículo escrito por dev247kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *