Este es uno de los capítulos del tutorial Reto Python. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.
Prácticamente estamos terminando con estos retos. Precisamente esta es la razón para volver al comienzo, a los primeros retos. En este caso, volvemos al reto de copiar y borrar archivos, pero con la particularidad, de que lo tienes que hacer, tal y como lo has estado haciendo en los últimos retos. Es decir, se trata de utilizar las clases que has venido viendo hasta el momento. ¿Que sentido tiene hacerlo así? No te preocupes, que lo verás en los siguientes retos y saldrás de dudas. Así que, volvemos al principio, copiar y pegar.
Y volvemos al principio, copiar y pegar. Reto 12.
La solución al reto 11.
La solución a este reto era relativamente sencilla, porque solo había que utilizar uno de los módulos que ya habíamos descubierto en retos anteriores. La única cuestión un poco mas peliaguda es el problema de determinar quien se puede convertir en quien. Te diré que hasta en el vídeo, descubro que tengo un error, porque he determinado que puedo convertir un archivo en otro, cuando realmente no es así. No porque no haya posibilidades, sino mas bien, por el problema de las transparencias. Así que te invito a que veas el vídeo para que lo descubras por ti mismo.
De nuevo, te invito a que no solo visites, sino que también compartas tu código en el repositorio de GitHub. La parte de la visita es realmente interesante, porque te va a permitir leer código, que es una forma, mas que interesante de aprender. Ver como otros resuelven uno de los retos, es una forma mas que interesante, de conocer y profundizar en un lenguaje de programación.
Por otro lado, compartir el código, de la misma forma, es realmente interesante, porque igualmente, ayuda a otros a mejorar, a base de estudiar tu código.
El duodécimo de los retos. Copiar y pegar.
Prácticamente hemos llegado al final de estos mini retos, donde hemos hecho una gran variedad de operaciones. Pero nos quedan los mas importantes, copiar o borrar. Por supuesto que me dirás que esto ya los hicimos en su momento. Sin embargo, no tienen la estructura de estos últimos.
¿Como la estructura? Si te das cuenta, esto de la estructura, es algo que hemos mantenido desde hace algunos retos, y es algo clave para lo que veremos en los siguientes retos, pero no me quiero adelantar.
De esta manera, este reto 12, consiste en hacer dos clases similares a las que hemos visto hasta el momento. Una de las clases será para copiar archivos o incluso para renombrar archivos, mientras que la segunda será para borrar archivos.
De nuevo, y tal y como he comentado, cada una de estas clases tiene que tener al menos dos métodos, el primero check
, será el que se encargue de que se cumplen todas las condiciones, mientras que el segundo de los métodos, execute
, realizará la acción.
Así la clase resultante Copy
, al aplicarla será algo similar a lo que te muestro a continuación.
def main():
filein = Path('/home/lorenzo/kk/bb.jpg')
fileout = Path(f/home/lorenzo/kk/bb_{filter_name}.jpg)
action = Copy(filein, fileout)
if action.check():
action.execute()
Mientras que la case Remove
será algo como lo siguiente,
def main():
filein = Path('/home/lorenzo/kk/bb.jpg')
action = Remove(filein)
if action.check():
action.execute()
El vídeo
A continuación puedes encontrar el vídeo con la resolución del reto anterior, y el planteamiento de este reto, que como ya te he adelantado es bastante sencillo, pero va a poner las bases para el siguiente reto, y para hacer el cierre a este conjunto de retos. En fin, que le vamos a hacer, estamos llegando al final.