
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import curses import threading import time def print_time(stdscr): # Desactivar el cursor en la consola curses.curs_set(0) # Esperar a que la consola se inicialice stdscr.clear() stdscr.refresh() while True: # Obtener la hora actual current_time = time.strftime("%H:%M:%S", time.localtime()) # Obtener las dimensiones de la consola rows, cols = stdscr.getmaxyx() # Calcular la posición central para imprimir la hora x = cols // 2 - len(current_time) // 2 y = rows // 2 # Imprimir la hora en la consola en la posición central stdscr.addstr(y, x, current_time) # Refrescar la pantalla para actualizar la hora stdscr.refresh() # Esperar 1 segundo antes de actualizar la hora time.sleep(1) def main(): # Inicializar la consola stdscr = curses.initscr() # Iniciar el hilo para imprimir la hora threading.Thread(target=print_time, args=(stdscr,), daemon=True).start() # Esperar a que el hilo termine while True: time.sleep(1) if __name__ == '__main__': main() |
En este ejemplo, estamos utilizando la biblioteca curses
de Python para crear una interfaz de consola que se actualiza continuamente con la hora actual. La función print_time()
se ejecuta en un hilo separado y utiliza la función stdscr.addstr()
de curses
para imprimir la hora en la consola en la posición central de la pantalla. Luego, utiliza la función stdscr.refresh()
para actualizar la pantalla y sobrescribir la salida existente. La función main()
inicializa la consola, inicia el hilo para imprimir la hora y espera a que el hilo termine.