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