2015-06-02 2 views
-1

Я искал таймер для своего проекта, но я нашел только таймеры, которые останавливают мой код.Таймер в Python (одновременный)

Есть ли у Python возможность запускать таймер таким образом, чтобы не останавливать мой другой код?

Tl, доктор простой рабочий таймер, который работает simultany

Заранее спасибо!

+0

Когда вы говорите 'таймер', вы имеете в виду код, который печатает ETA или что-то в этом роде? –

+1

Возможно, вы должны использовать потоки, чтобы не блокировать выполнение основной программы. Вот хороший учебник. http://pymotw.com/2/threading/ И вот документация https://docs.python.org/2/library/threading.html – vwvolodya

ответ

3

очень легко, но не настолько сложный способ, чтобы написать:

import time 
start_time = time.time() 

в начале кода и в конце

print "run time (s):", time.time() - start_time 

Обратите внимание, что в этом решении время вывода может повлиять другими процессами, выполняемыми одновременно на вашем компьютере. Вот почему этот метод, вероятно, не самый лучший.

Лучшим решением было бы "timeit":

https://docs.python.org/2/library/timeit.html

, которые могут быть использованы в очень удобной форме в IPython:

https://ipython.org/ipython-doc/dev/interactive/magics.html

Последнее решение я знаю, это используйте профилировщик (например, очень хорошо в spyder):

http://sjara.github.io/spyder-profiler/

Профилировщик точно скажет вам, сколько раз функция используется во время процесса и каково общее время на выполнение функции.

Смежные вопросы