Python Desmistificado: Criando um relógio com o módulo Schedule
Python é uma linguagem versátil e poderosa, oferecendo uma ampla gama de módulos e bibliotecas que permitem criar uma variedade de aplicativos. Neste tutorial, vamos explorar como criar um cronômetro simples em Python. Vamos passo a passo, explicando cada seção do código para que você possa compreender e criar o seu próprio cronômetro.
Pré-requisitos:
Antes de começar, é necessário ter o módulo 'schedule' instalado. Se você ainda não o possui, pode instalá-lo facilmente executando o seguinte comando no terminal:
py -m pip install schedule
Imports:
Importamos os módulos necessários para o nosso cronômetro são:
- "os" para interação com o sistema operacional,
- "datetime" para lidar com datas e horas,
- "schedule" para agendar tarefas,
- "time" para pausar a execução.
import os
from datetime import datetime
import schedule
import time
Constante FORMATO_HORA: Definimos uma constante que armazena o formato desejado para exibir a hora no formato de horas, minutos e segundos.
# Constante com formato de exibição da hora
FORMATO_HORA = "%H:%M:%S"
Declare a função exibir_hora_atual():
def exibir_hora_atual():
Ao utilizar a função "system" do módulo "os" passando como parametro o comando "cls" para Windows ou "clear" se voce utiliza Linux, comando completo ficará assim "os.system('cls')" e esta linha servirá para limpar a tela do console a cada iteração do método exibir_hora_atual(). lembrando novamente, é importante observar que o comando pode variar dependendo do sistema operacional.
# Limpa a tela do console
os.system('cls')
datetime.now() e strftime: Obtemos a hora atual usando datetime.now() e a formatamos de acordo com FORMATO_HORA usando strftime.
print(hora_atual): Imprimimos a hora atual no console.
Agendamento de Tarefa:
# Obtém a hora atual e a formata de acordo com FORMATO_HORA
now = datetime.now()
hora_atual = now.strftime(FORMATO_HORA)
print(hora_atual):
schedule.every().second.do(exibir_hora_atual): Agendamos a função exibir_hora_atual para ser executada a cada segundo.
Loop Principal:
# Agenda a função exibir_hora_atual para ser executada a cada segundo
schedule.every().second.do(exibir_hora_atual)
while True:: Este loop executa as tarefas agendadas e pausa a execução por 1 segundo entre cada iteração para exibir a hora atual.
while True:
# Executa as tarefas agendadas
schedule.run_pending()
# Aguarda 1 segundo antes da próxima execução
time.sleep(1)
Logo, voce terá um código-fonte e não esquecendo o mais importante, salvá-lo com a exensão ".py", de um relógico digital automatizado.
Veja o código completo:
import os
from datetime import datetime
import schedule
import time
# Constante com formato de exibição da hora
FORMATO_HORA = "%H:%M:%S"
def exibir_hora_atual():
# Limpa a tela do console
os.system('cls')
# Obtém a hora atual e a formata de acordo com FORMATO_HORA
now = datetime.now()
hora_atual = now.strftime(FORMATO_HORA)
print(hora_atual)
# Agenda a função exibir_hora_atual para ser executada a cada segundo
schedule.every().second.do(exibir_hora_atual)
while True:
# Executa as tarefas agendadas
schedule.run_pending()
# Aguarda 1 segundo antes da próxima execução
time.sleep(1)
Agora está livre para brincar, e praticar, tente voce mesmo, e até se possível, implemente uma interface gráfica e comente seu código aqui em baixo!