Gestión de Calendarios en Python

Índice()

    Introducción:

    Últimamente, e subido artículos un poco "exóticos", se que a muchos les gusta hacer cosas divertidas e interesantes con Python, pero quisiera hacer algo diferente, de esa manera no hago lo mismo todos el tiempo. 
    Hoy, daremos un pequeño paseo por el modulo "calendar", sera un articulo no muy largo, pero quisiera hacer más artículos como este, de esta manera interactuamos y nos familiarizamos más con la librería estándar de Python.

    Calendar - Funciones Generales relacionadas con el calendario:

    Con el modulo calendar, podemos gestionar calendarios, generar calendarios en formato de Texto Plano y calendarios en formato HTML para nuestros sitios web, todo desde nuestro interprete de Python.

     
    Resultado de imagen para calendario
     

    Intentemos algo sencillo, vamos a imprimir un calendario del año 2009 en un formato de texto. Esto lo lograremos con ayuda de la clase "TextCalendar". Veamos un ejemplo.


    
    import calendar
    
    #Instancia de TextCalendar
    cl = calendar.TextCalendar()
    
    #Elegimos el formato del año y mes del calendario
    calendario_sep = cl.formatmonth(2009, 9)
    
    #Mostramos el resultado
    print(calendario)
    
    

    Bien, analicemos un poco el código. Lo primero que hacemos es importar el modulo "calendar", de esta manera tendremos acceso a todas sus clases. Luego creamos una instancia de la clase "TextCalendar", seguidamente, usamos el método "formatmonth" para elegir el formato del calendario, le pasamos como argumentos: El año del calendario que queremos y el mes (1-12). Luego de todo esto, imprimimos al calendario con la función print.


    Gestión de Calendarios en Python

    Pero, ¿que pasa si quisiéramos el calendario de todo el año 2009?. Pues muy fácil, para ello usaremos el método "formatyear", de igual manera que "formatmonth". Veamos un ejemplo:

    import calendar
    
    #Instancia de TextCalendar
    cl = calendar.TextCalendar()
    
    #Elegimos el formato del año
    calendario_2009 = cl.formatyear(2009)
    
    #Mostramos el resultado
    print(calendario_2009)



    Lo unico diferencia del codigo anterior, es el método "formatyear", que configura el formato del año del calendario, en este caso es 2009. El resultado debería quedarnos algo así:


    Gestión de Calendarios en Python

    Y de esta manera tan sencilla, tenemos el calendario completo del año 2009.

    Todo este calendario esta en formato "Text Plain" (Texto plano).
    El moudlo calendar, también nos da la posibilidad de generar calendarios en formato HTML. Esto lo podemos lograr usando la calse HTMLCalendar.

    Lo que haremos sera plasmar el calendario del año 2012 en una pagina HTML. Veamos como hacerlo:

    import calendar
    #Instancia de HTMLCalendar
    cl = calendar.HTMLCalendar()
    #Definimos el año del calendario
    calendario_2012 = cl.HTMLCalendar(2012)
    #Creamos un archivo con formato html en donde estará el contenido HTML
    with open("./calendario_2012.html") as html:
         html.write(calendario_2012)
         html.close()
    
    

    Luego de ejecutar este código, en nuestro directorio actual tendremos nuestro archivo HTML con el calendario especificado.


    Gestión de Calendarios en Python

    Ese sera mi archivo HTML generado, con algunos retoques creo que quedaria bein.

    Mi fácil, ¿cierto?, el modulo "calendar" nos facilita muchas cosas.

    Veamos algunos métodos que nos proporciona calendar.

    calendar, nos proporciona el método "day_name", el cual es un diccionario con los nombres de los días de la semana (en ingles), podemos recorrer este diccionario con un bucle y nos quedaría algo así:


    Gestión de Calendarios en Python

    Igual que el método "day_name", también tenemos el método "month_name", que de igual manera es un diccionario, con todos los nombres de los meses del año:


    Gestión de Calendarios en Python

    Tienes ganas de más, te sugiero que vayas a la documentación oficial de Python, es bueno pasar por aquí de vez en cuando, de esta manera vamos conociendo mejor a esos módulos, que siempre estarán allí para nosotros.

    Como dije en la introducción, este articulo lo haría un poco corto, solo para repasar este modulo que es de mucha utilidad.

    Comparte tu opinión acerca del articulo y si te gustaría más artículos sobre la librería estándar de Python, tus opiniones nos ayudan a mejorar.

    Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.

    1. daviduehlinger dice:

      Excelente mini-tutorial del módulo. Felicitaciones !!!!

      1. Luis Salcedo dice:

        Gracias por dar tu opinión, saludos 😀

    2. hugo dice:

      Excelente aporte amigo.

      1. Luis Salcedo dice:

        Gracias por compartir tu opinión y por visitar el blog, saludos 😀

    3. Unknown dice:

      Gracias por tu presentación. Breve y al punto.

      1. Luis Salcedo dice:

        Gracias por visitar el blog, Saludos 😀

    4. KikesCorp dice:

      Hola buen dia, disculpoa la pregunta este modulo me sirve para poder hacer un sistema de citas ??

    5. Juan Erazo dice:

      Gracias amigo

    6. Anónimo dice:

      Una corrección (menor) en el primer código del artículo, donde dice print(calendario), debe decir print(calendario_sep).¡ Saludos !

    Deja una respuesta

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

    Subir

    Te has suscrito correctamente al boletín

    Se produjo un error al intentar enviar tu solicitud. Inténtalo de nuevo.

    Mi Diario Python will use the information you provide on this form to be in touch with you and to provide updates and marketing.