Saltar al contenido principal

Cómo copiar un archivo en Python.

Aquí tienes un tutorial paso a paso sobre cómo copiar un archivo en Python:

Paso 1: Importar los módulos requeridos​

Para copiar un archivo en Python, necesitas importar el módulo shutil. Este módulo proporciona una interfaz de alto nivel para operaciones de archivos.

import shutil

Paso 2: Especificar el archivo fuente y el destino​

A continuación, especifica la ruta del archivo fuente que deseas copiar y el destino donde deseas copiarlo. Asegúrate de incluir la ruta completa del archivo.

archivo_fuente = 'ruta/al/archivo_fuente.txt'
destino = 'ruta/a/carpeta_de_destino'

Paso 3: Utilizar shutil.copy() para copiar el archivo​

Ahora, utiliza la función shutil.copy() para copiar el archivo. Esta función toma dos argumentos: el archivo fuente y la carpeta de destino.

shutil.copy(archivo_fuente, destino)

Paso 4: Manejar excepciones​

Es importante manejar cualquier excepción que pueda ocurrir durante el proceso de copiado de archivos. La excepción más común para manejar es shutil.Error, que se produce cuando el archivo fuente y el destino son el mismo archivo o si hay algún problema de permisos.

try:
shutil.copy(archivo_fuente, destino)
except shutil.Error as e:
print(f"Error: {e}")
except Exception as e:
print(f"Error: {e}")

Paso 5: Verificar la copia del archivo​

Para verificar que el archivo se haya copiado correctamente, puedes verificar si el archivo de destino existe utilizando la función os.path.exists() del módulo os.

import os

archivo_destino = os.path.join(destino, os.path.basename(archivo_fuente))

if os.path.exists(archivo_destino):
print("¡Archivo copiado exitosamente!")
else:
print("¡Fallo al copiar el archivo!")

Paso 6: Ejemplo de código completo​

Aquí tienes el ejemplo completo de código para copiar un archivo en Python:

import shutil
import os

archivo_fuente = 'ruta/al/archivo_fuente.txt'
destino = 'ruta/a/carpeta_de_destino'

try:
shutil.copy(archivo_fuente, destino)
except shutil.Error as e:
print(f"Error: {e}")
except Exception as e:
print(f"Error: {e}")

archivo_destino = os.path.join(destino, os.path.basename(archivo_fuente))

if os.path.exists(archivo_destino):
print("¡Archivo copiado exitosamente!")
else:
print("¡Fallo al copiar el archivo!")

¡Eso es todo! Has copiado exitosamente un archivo en Python utilizando el módulo shutil.