Blog

Postado em em 27 de junho de 2024

Biblioteca Time Python – 5 Principais Funções

Você já sabe o que é a biblioteca time Python e como ela funciona? Vou te explicar tudo isso e ainda quero te mostrar mais algumas aplicações dessa biblioteca no Python.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Conteúdo da Aula

Nessa aula eu quero te mostra 5 coisas que são muito úteis, incluindo o que é a biblioteca time Python e para que ela serve (qual a sua funcionalidade).

O que é a Biblioteca Time Python e para que Serve?

É uma biblioteca do Python que te permite trabalhar com datas e horas e ela já vem instalada no Python, então basta fazer a importação dessa biblioteca para começar a usar.

import time

Ela te permite fazer o controle do fluxo do seu código, ou seja, pode fazer com que o código espere alguns segundos para executar um comando (importante para algumas aplicações).

Pode verificar quanto tempo um determinado bloco de código demora para executar. Isso é muito interessante, pois você pode utilizar outros métodos para verificar o que leva menos tempo e é mais eficiente dentro do seu código.

Te permite também, fazer manipulações mais simples de data e hora. Ao contrário da biblioteca datetime que vai te permitir fazer manipulações mais complexas de data e hora.

Sabendo disso nós podemos partir para as principais funções da biblioteca time no Python, lembrando que a biblioteca já vem instalada no Python, basta apenas importá-la para poder usar!

Uso do Time para Medir o Tempo de um Programa

A ideia aqui é conseguir medir o tempo de execução de um código para que você possa verificar se está lento, se está rápido ou se está de acordo com o que deveria ser.

Pode ser que o seu programa demore muito mais para rodar, então pode verificar o que tem de errado, se está fazendo processos que não deveria ou se está com bug em alguma parte do código.

import time

print(time.time())

Se você rodar esse código, vai notar que o Python vai dar como resposta um número bem grande que inicialmente pode não fazer muito sentido.

Data EPOCH - Biblioteca time Python

Mas esse número significa a quantidade de segundos que passaram desde uma data, que é um marco 0 por assim dizer. Essa data é chamada de EPOCH.

Você vai notar que todos os programas que trabalham com data, possuem um marco 0 de data até para que seja possível fazer esses cálculos de data e hora.

Essa marco 0 no Python é dado pela data 01/01/1970 00:00:00. Isso significa que nessa data a nossa expressão time.time() iria retornar o valor 0.

Em qualquer outro ponto depois dessa data, nós vamos ter a quantidade de segundos que passaram depois dessa data EPOCH. Vamos ter datas anteriores a essa também, mas é provável que o Python considere essas informações como negativas.

Essa data é apenas uma referência para que seja possível fazer os cálculos de data e hora e você já vai entender como isso funciona!

import time

tempo_inicial = time.time()

for i in range(100000000):
	pass

tempo_final = time.time()

duracao = tempo_final - tempo_inicial
print("Duração", duracao)

Aqui nós temos duas variáveis, uma antes do bloco de código que vamos calcular o tempo e outra no final.

Como o comando time.time() vai calcular o tempo da data EPOCH até o momento atual, se você souber o tempo que o código finalizou e subtrair do tempo quando ele iniciou, você consegue calcular o tempo de execução desse código.

É exatamente isso que estamos fazendo, pegando o tempo final e subtraindo do tempo inicial para saber quanto tempo demorou para esse bloco de código ser executado.

E usando o print, você vai conseguir visualizar esse tempo de execução.

Medir tempo de um programa

Pegar Data e Hora Atual

Se você considerar que ao utilizarmos o time.time() nós já estamos pegando quanto tempo passou do marco 0 até o momento atual teoricamente já temos a data e hora atual.

Só que ao invés de pegar essa informação e fazer alguns cálculos para trazer essas informações de data e hora, nós podemos utilizar outras funções da biblioteca time para auxiliar nesse processo.

import time

hora_atual = time.gmtime()
print(hora_atual)

Nesse código aqui nós já conseguimos trazer tanto a data quanto o horário atual, então utilizando o time.gmtime() nós vamos trazer essa data e horário só que no padrão UTC, que é o fuso horário 0.

Isso quer dizer que você vai notar uma diferença de 3 horas nesse tempo, pois o Brasil tem o horário GMT-3 que dá essa diferença.

Data e hora atual no Python

Isso é um problema? Não, pois temos a função time.localtime() que vai pegar a hora do seu local atual. Além do horário correto da sua região, você vai ter o dia da semana sendo 0 a segunda-feira, vai mostrar o número do dia do ano e ainda te mostra se nessa data está com horário de verão ativo.

import time

hora_atual = time.localtime()
print(hora_atual)

Lembrando que essa função vai pegar as informações de data e hora do seu computador, então mesmo que esteja em um local diferente, mas o seu horário esteja configurado para uma região, o Python vai trazer a informação que está no seu computador!

Data local no Python

O time struct permite com que você consiga extrair informações específicas da data e hora que acabou de obter, ou seja, consegue transformar essas informações em um texto.

import time

hora_atual = time.localtime()
print(hora_atual)

dia = hora_atual.tm_mday
dia = hora_atual.tm_mon
dia = hora_atual.tm_year

print(f"Data {dia}/{mes}/{ano}")
Extraindo informações da data

Traduzir Datas para Texto e a partir de Textos

Como você percebeu, o que acabamos de fazer foi utilizar uma das maneiras para traduzir datas para texto, ou seja, pegamos cada informação da data e juntamos ela para criar um texto com esse conjunto de informações.

Como você já sabe traduzir uma data para texto, o que acha de aprender como pegar um texto e transformá-lo em uma data?

import time

texto = "15/02/1994"

minha_data = time.strptime(texto, %d/$m/%Y)
print(minha_data)

A ideia de utilizar o time.strptime() é que ele vai pegar um texto e transformar em um data no format time.struct_time, que é o formato que nós já vimos, onde temos diversas informações da data e hora.

Em contra partida, nós temos o time.strftime() que faz o procedimento de pegar a data e transformar em texto, que foi o processo que fizemos no tópico anterior, mas sem precisar pegar parte por parte da data de forma manual.

Dentro do strptime, nós vamos inserir duas informações. A primeira é o texto que vamos transformar em data e a segunda é o formato dessa data, mas esse formato não é simplesmente dia/mês/ano.

Nós temos alguns códigos para que isso funcione da forma correta. Você pode encontrar essa lista de códigos na documentação da biblioteca. Pode até acessar pelo link abaixo:

https://docs.python.org/3/library/time.html#time.strptime

Basta clicar no link e subir um pouco a barra de rolagem que já vai conseguir visualizar a lista com todos os códigos e o que cada um deles significa.

Com isso você já consegue transformar um texto em uma data dentro do Python com a biblioteca time.

Texto para data no Python

Colocar o seu Código para Esperar

Qual é a grande utilidade de colocar um código para esperar no Python com a biblioteca time? Isso é muito útil tanto em automações ou quando está consumindo dados de um sistema.

Quando se está utilizando uma API, por exemplo, elas acabam tendo um limite de informações que você pode solicitar (requisição) em um determinado período.

Dessa forma você pode controlar e informar que precisa fazer 10 requisições a cada 20 segundos, por exemplo. Assim você evita de sobrecarregar e até garantir que a sua aplicação funcione de forma adequada.

Em uma automação de site por exemplo, nem todas as páginas vão abrir assim que você coloca o site. Algumas páginas demoram um pouco, se está fazendo um login precisa esperar a confirmação de que funcionou até entrar em um sistema.

Tudo isso leva tempo e se você coloca o código para rodar direto, vai notar que ele vai fazer tudo isso de forma muito rápida, o que pode ser um problema nesses casos.

Imagine que página não carregou e o código está executando sem aguardar, já pensou que o código pode terminar enquanto está no processo de login? Se isso acontecer claramente o código ou vai dar erro por não ter encontrado o que precisava ou simplesmente não vai acontecer nada.

Para fazer o código esperar nós vamos utilizar o time.sleep + a quantidade de segundos que vamos aguardar.

import time

time.seelp(3)

Com isso você consegue informar para o Python quanto tempo ele precisa esperar para rodar o próximo comando. Lembrando que isso não impacta em nada o seu código, vai apenas criar uma pausa para uma página carregar ou um sistema carregar as informações para garantir que vai conseguir fazer o que precisa!

Conclusão

Nessa aula eu te mostrei as principais aplicações da biblioteca time Python. Te mostrei o que essa biblioteca faz e qual a sua utilidade dentro do Python.

Mostrei como medir o tempo de um programa, como pegar a data e hora atual no Python, como traduzir datas para texto e a partir de textos e para finalizar, te mostrei como colocar o seu código para esperar com o time.sleep.

Essa é uma biblioteca muito útil que já vem instalada no Python e você vai utilizá-la com certa frequência, pois em diversos projetos precisamos trabalhar com datas e horas no Pyhton, seja para uma automação, seja para tratamento de dados…

E para fazer isso é importante que você conheça essa e outras bibliotecas como é o caso da biblioteca datetime, que te permite fazer algumas abordagens mais complexas com data e hora no Python.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes da Hashtag Treinamentos