Reto 2. Imágenes y formatos

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.

El segundo reto

Vamos con el segundo de los Reto Python. Este es uno sencillo. Y es que tenías razón, los que os quejasteis por el hecho de que el reto anterior tenía una parte importante dedicada al sistema operativo y no tanto dedicado a Python. Lo cierto, es que estaba hecho con intención, dado que uno de los problemas con los que te encontrarás con este reto, es la necesidad de lidiar con tu sistema operativo para poder gestionar el Síndrome de Diṕoegenes Digital. Sin embargo, lo entiendo, así que lo dejaré para mas adelante. Pero no mucho, porque en este reto, también tiene algo que ver, al menos con los formatos. La cuestión, es que se trata del segundo Reto Pyhon, en el que tienes que pelearte con imágenes y formatos.

Y es que como sabes, el objetivo de este reto, además de aprender Python, por supuesto, es que construyas tu propia aplicación para gestionar tu Diógenes Digital, o al menos para organizar todos los archivos que caigan en un determinado directorio.

Reto Python 2. Imágenes y formatos.

Una nota al margen…

Como he comentado desde el principio, para participar en estos retos, no necesitas entrar en el grupo de telegram de atareao con Linux. Tampoco es necesario que te apuntes a ninguna lista, ni siquiera que envíes tus resultados a ninguna parte.

Tu haces el reto, y cuando libero el segundo reto, libero mi solución. Y hago hincapié en lo de mi solución porque es mi propuesta, y esto no indica a que sea la mejor de las soluciones, solo indica que es una de las posibles soluciones. Es posible que tu solución sea mucho mas óptima que la mia… y es que de eso se trata de aprender.

Ahora bien, con el fin de que esto sea mas colaborativo, y para aquel que quiera, puede hacer un pull request con su solución al repositorio de GitHub. Como entiendo que esto no es algo habitual, y todos no estamos acostumbrados a ello, en cuanto lo tenga preparado, lo comentará y explicaré como hacerlo.

Por otro lado, aquel que quiera que comenté su código en un vídeo que lo diga también. No es necesario que salga el nombre, ni nada por el estilo. No se trata de premiar ni castigar, se trata de aprender.

Por otro lado, si te encuentras algo perdido en estos primeros retos de Python, no te preocupes. Estoy preparando algo en paralelo para ayudarte, tanto si estás comenzando desde cero, como si ya tienes algunos conocimientos.

La solución al reto 1.

Te dejo dos soluciones al reto 1 en el repositorio de GitHub. La primera de las dos soluciones, la mas sencilla a nivel de código, requiere de un módulo, que por supuesto no está disponible en Windows solo en Linux, pero como puedes ver el código resultante es super sencillo.

La segunda de las soluciones es algo mas compleja, porque requiere leer un archivo de configuración, o simplemente un archivo. Esto ni siquiera lo hemos tratado en un capítulo ni un una Pyruleta, pero no te precupes, que profundizarás en ello.

El segundo de los retos

En este caso, y partiendo de la solución anterior, ahora hay que trabajar con archivos. El objetivo es que listes todos los archivos JPEG que se encuentran en el directorio de descargas del usuario.

Tienes que tener en cuenta, que imágenes JPEG, son los .jpg o .jpeg o incluso JPEG por citarte algunas. Pero además en el listado se cumplirán las siguientes condiciones,

  • Si en el nombre del archivo aparece un número, el nombre del achivo apararecerá en mayúsculas, mientras que si no tiene ningún número aparecerá en minúsculas.
  • Además en ese listado, los que sean pares, tendrán una flecha delante, del tipo =>.

Como ves se trata de un reto sencillo, y que nos permitirá profundizar en bucles, módulos y otros temas similares.

El vídeo

Conclusión

Ánimo y a por todo. Recuerda que puedes unirte al grupo de Telegram, y enviar si lo quieres el resultado al repositorio de GitHub haciendo un pull request.

Que tengas suerte.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *