Hace poco comencé un curso de introducción a Python por lo que en esta ocasión les dejo mi primer script más o menos funcional.
info_clima.py es un script que descarga la información del Servicio Meteorológico Nacional (SMN) y muestra los datos meteorológicos actualizados en la terminal.
Sé que a menos que estés leyendo esto desde Argentina quizás este proyecto no resulta de gran interés. Pero me pareció interesante su realización como ejercicio. Utiliza todas librerías que ya vienen con python por lo que este script debería funcionar out of the box sin ningún problema tanto en Windows como en Linux.
Contiene elementos que pueden resultar de interés si estas empezando a programar en python:
- Descarga de archivos de internet.
- Descompresión de archivos zip.
Uso de ubicaciones temporales.- Uso de 'listas de listas'
Uso de colores en la terminal (algo XD)
El código está bastante comentado. Pero en resumidas cuentas el script descarga un archivo comprimido (zip) de la web del SMN y descomprime su contenido (una especie de archivo CSV pero utilizando el punto y coma para separar los valores) en una ubicación temporal.
Luego procesa este archivo convirtiéndolo en una 'lista de listas'.
Las listas de listas permiten representar esta estructura de manera natural, donde cada fila de la tabla se convierte en una sublista y cada columna se representa mediante elementos dentro de esas sublistas (Fuente)
El script solicita al usuario que ingrese la ubicación de la cual quiere conocer los datos, en caso de no ingresar nada por defecto devuelve la información de "Buenos Aires".
Por supuesto que hay mucho espacio para la mejora (de hecho no toda la información suministrada se muestra, solo la que a mi me resulta de interés). Creo que es un buen script de práctica para el que está aprendiendo.
Como siempre les dejo el link al repo de GitHub: https://github.com/mcattani/script_clima
Espero les resulte de interés. Si es así los invito a dejar un comentario y si tienen ganas pueden invitarme un cafecito!:
[Actualización 15/12/2024]: Decidí reescribir el script casi desde 0, me parecía que estaba bastante desordenado. Separé todas las operaciones más importantes en funciones. También decidí por ahora sacar el tema de los colores (quizás en una versión futura vuelva a agregarlas) y de la ubicación temporal (el script ahora borra los archivos después de utilizarlos).
Saludos!