Eu tenho o seguinte código em um script python:
def fun():
#Code here
fun()
Quero executar esse script e também descobrir quanto tempo levou para executar em minutos. Como descubro quanto tempo levou para a execução desse script? Um exemplo seria muito apreciado.
python
datetime
execution-time
James
fonte
fonte
Respostas:
fonte
datetime.now()
funciona se você o fizerfrom datetime import datetime
, não apenasimport datetime
(apenas confirmado no Python 3.6.4).Você executa o script na linha de comando no Linux ou UNIX? Nesse caso, você poderia apenas usar
fonte
time -p ./script.py
-p
flag for pipelinefonte
print('It took {0:0.1f} seconds'.format(time.time() - start))
no python 3.x.O que eu costumo fazer é usar
clock()
outime()
datime
biblioteca.clock
mede o tempo do intérprete, enquantotime
mede o tempo do sistema. Advertências adicionais podem ser encontradas nos documentos .Por exemplo,
Ou, alternativamente, você pode usar
timeit
. Costumo usar atime
abordagem devido à rapidez com que posso divulgá-la, mas se você estiver cronometrando um trecho de código isolado, serátimeit
útil.Desde o momento em que documentos ,
Em seguida, converter para minutos, você pode simplesmente dividir por 60. Se você deseja que o tempo de execução de script em um formato de fácil leitura, se é segundos ou dias, você pode converter para um
timedelta
estr
-lo:e isso imprimirá algo do formulário
[D day[s], ][H]H:MM:SS[.UUUUUU]
. Você pode conferir os documentos da timedelta .E, finalmente, se o que você realmente procura é criar um perfil do seu código, o Python também disponibiliza a biblioteca de perfis .
fonte
O código anterior funciona para mim sem nenhum problema!
fonte
fonte
Use o módulo timeit. É muito fácil. Execute o arquivo example.py para que ele fique ativo no Shell Python, agora você poderá chamar sua função no shell. Experimente e verifique se funciona
Bom, isso funciona, agora importe timeit e configure um timer
Agora, com o cronômetro configurado, podemos ver quanto tempo leva
E lá vamos nós, ele lhe dirá quantos segundos (ou menos) foram necessários para executar essa função. Se é uma função simples, você pode aumentá-la para t.timeit (número = 1000) (ou qualquer número!) E depois dividir a resposta pelo número para obter a média.
Eu espero que isso ajude.
fonte
use os pacotes de hora e data e hora.
se alguém quiser executar esse script e também descobrir quanto tempo levou para executar em minutos
O código acima funciona para mim. Eu espero que isso ajude.
fonte