Copie todos los archivos de un directorio a otro usando Python

En este artículo, discutiremos cómo copiar todos los archivos de un directorio a otro usando Python.

Esto se puede hacer usando el módulo shutil . Este módulo se puede usar en Python para realizar operaciones en archivos y carpetas en un directorio. El paquete Shutil facilita el acceso, movimiento y eliminación de archivos entre directorios.

Método 1: Usar shutil.copytree() 

El método shutil.copytree() copia recursivamente un árbol de directorios completo enraizado en el origen (src) al directorio de destino. Se utiliza para copiar recursivamente un archivo de una ubicación a otra. El destino no debe ser un directorio existente. Se crea durante la ejecución de la operación de copia. 

Sintaxis: shutil.copytree(src, dst, copy_function = copy2)

Parámetro: 

  • src: directorio de origen
  • dst: director de destino
  • copy_function (opcional): Predeterminado – copy2(). También se puede usar el método copy().

Devuelve: el nombre del directorio de destino recién creado

También se necesita soporte extendido para el paquete os en Python para realizar todas las operaciones relacionadas con la manipulación de archivos de manera efectiva. Proporciona muchas funciones para trabajar con directorios y sus correspondientes archivos y carpetas contenidos. 

os.listdir(dir) , enumera todos los archivos en el directorio especificado, dir, y os.path.join(a, b) se usa para crear una ruta uniendo las subrutas a seguidas de b respectivamente. 

Directorio en uso: 

Python3

import shutil
import os
 
# path to source directory
src_dir = 'fol1'
 
# path to destination directory
dest_dir = 'fol2'
 
# getting all the files in the source directory
files = os.listdir(src_dir)
 
shutil.copytree(src_dir, dest_dir)

Producción:

Método 2: Usar shutil.copy2()

El método copy2() en Python se usa para copiar el contenido del archivo de origen al archivo o directorio de destino. Este método es idéntico al método shutil.copy() y también conserva los metadatos del archivo. 

Sintaxis:

shutil.copy2(origen, horario de verano)

Parámetro:

  • src: directorio de origen
  • dst: director de destino

Devuelve: la ruta del directorio de destino 

Además de esto, el módulo Pathlib también se incorpora para trabajar con rutas de sistemas de archivos relacionadas con diferentes sistemas operativos. La función Path del paquete Pathlib se utiliza para definir rutas concretas. 

Nota: en este método, los archivos se copian en una carpeta ya existente.

Directorio en uso: 

Python3

# importing required packages
from pathlib import Path
import shutil
 
# defining source and destination
# paths
src = 'source'
trg = 'destination'
 
files=os.listdir(src)
 
# iterating over all the files in
# the source directory
for fname in files:
     
    # copying the files to the
    # destination directory
    shutil.copy2(os.path.join(src,fname), trg)

Producción:

Publicación traducida automáticamente

Artículo escrito por mallikagupta90 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 *