Saludos, mi nombre es Antonio Alfonso Martínez y en el presente articulo vamos a crear un sencillo programa para copiar archivos de una carpeta a otra, haciendo uso del módulo "shutil" de python (un módulo instalado con python que nos permitirá realizar diversas operaciones con archivos y carpetas) y, concretamente, de la función "copyfile".
Así, lo primero que haremos será importar desde el mencionado módulo, la función que vamos a emplear para la copia de archivos (función "copyfile"). A su vez, importaremos desde "sys" la función "exit" para finalizar el programa en determinadas circunstancias:
Para poder copiar un archivo desde una ubicación a otra distinta, lo primero que deberá "saber" nuestro programa es la ubicación actual del archivo a copiar. A su vez para realizar la copia en otra ubicación, tendremos, también, que especificarle el destino del mismo.
Para ello, crearemos dos variables, llamadas "origen" y "destino", las cuales constituirán sendos "inputs" en los que el usuario deberá introducir la ruta completa que defina la ubicación, tanto de la ubicación actual del archivo ("origen") como la ruta en la que se encuentra la ubicación en la que se va a copiar el archivo (variable "destino"):
Una vez que nuestro programa disponga de tal información, estará ya listo para realizar la copia mediante "copyfile()", función que tomará como argumentos la ruta, tanto de la ubicación actual como la ruta de la ubicación de destino, tal y como se aprecia en la imagen:
No obstante, hemos de tener en cuenta que en ocasiones, dicha tarea no pueda completarse. Es por ello por lo que vamos a incluir tal función ("copyfile()") en una sentencia "try". De modo, que así estamos indicándole al programa que "intente" realizar dicha operación, y que de no poder realizarse, se ejecute las excepciones ("except")previstas para este caso. En donde haremos, también, uso de la función "sys.exc_info()" mediante la que estaremos llamando al sistema operativo para que nos indique la razón por la que no ha podido realizarse la copia:
Para el caso en que se haya podido completar la operación, (que indicaremos con el texto "Copia realizada con éxito"), daremos al usuario la posibilidad de visualizar el archivo copiado en su nueva ubicación:
Para la visualización del archivo, nuestro programa procederá a abrirlo en modo lectura ("archivo=open(origen,"r")") para, acto seguido, leerlo mediante la función ".read()". Por contra, en caso que la opción "comprobar" haya sido "n" (no), el ciclo en el que se encuadra esta parte del código, finalizará mediante la correspondiente sentencia "break".
https://github.com/antonioam82/ejercicios-python/blob/master/copiador.py
Saludos.
Comentarios
Publicar un comentario