Hoy veremos cómo copiar un árbol de carpetas completo usando Python. La función que utilizaremos es copytree() y forma parte del módulo shutil.
El módulo shutil tiene funciones que nos permitirán trabajar con archivos o carpetas. La función copytree() hará una copia de una carpeta junto con todo su contenido. Es posible especificar la ruta en la que se encuentra la carpeta que queremos copiar, si no especificamos una ruta entonces buscará en la ubicación en la que nos encontremos.
El código que vamos a utilizar es el siguiente:
from shutil import copytree
copytree("c:\\Proyectos con Python", "c:\\demo\\copia")
El código hace lo siguiente:
- Importa solo la función copytree() del módulo shutil
- Copia la carpeta especificada junto con todo su contenido en una ubicación nueva con la función copytree().
Como resultado tendremos la carpeta en dos ubicaciones distintas. Si lo que prefieres es mover el archivo a una nueva ubicación te recomiendo darte una vuelta por la entrada cómo mover un archivo con Python.
El código anterior no generará ningún error mientras la carpeta que queremos copiar no exista previamente en la ubicación que especifiquemos. Ei la carpeta ya existe entonces obtendremos un error de tipo FileExistsError indicando que no es posible crearla porque ya existe. Por ello vamos a agregar al código una excepción que nos permita manejar este error.
from shutil import copytree
try:
copytree("c:\\Proyectos con Python", "c:\\demo\\copia")
except FileExistsError:
print("La carpeta ya existe")
Las líneas que se incluyeron hacen lo siguiente:
- Intenta copiar la carpeta completa
- En caso de que la carpeta ya exista y se genere el error FileExistsError, imprime en pantalla un mensaje
Para recordar cómo gestionar los errores, quizá te puede interesar darte una vuelta por la entrada Manejo de errores que forma parte de la serie Python para Principiantes.
Hasta aquí la entrada de hoy. ¿Conoces algún otro método para copiar un árbol de carpetas completo usando Python? Déjame en los comentarios qué te ha parecido esta entrada.
1 comentario en «¿Cómo copiar un árbol de carpetas completo usando Python?»
Los comentarios están cerrados.