本文实例讲述了python定时执行指定函数的方法。分享给大家供大家参考。具体实现方法如下:
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
|
# time a function using time.time() and the a @ function decorator
# tested with Python24 vegaseat 21aug2005
import time
def print_timing(func):
def wrapper( * arg):
t1 = time.time()
res = func( * arg)
t2 = time.time()
print '%s took %0.3f ms' % (func.func_name, (t2 - t1) * 1000.0 )
return res
return wrapper
# declare the @ decorator just before the function, invokes print_timing()
@print_timing
def getPrimeList(n):
""" returns a list of prime numbers from 2 to < n using a sieve algorithm"""
if n < 2 : return []
if n = = 2 : return [ 2 ]
# do only odd numbers starting at 3
s = range ( 3 , n + 1 , 2 )
# n**0.5 may be slightly faster than math.sqrt(n)
mroot = n * * 0.5
half = len (s)
i = 0
m = 3
while m < = mroot:
if s[i]:
j = (m * m - 3 ) / / 2
s[j] = 0
while j < half:
s[j] = 0
j + = m
i = i + 1
m = 2 * i + 3
return [ 2 ] + [x for x in s if x]
if __name__ = = "__main__" :
print "prime numbers from 2 to <10,000,000 using a sieve algorithm"
primeList = getPrimeList( 10000000 )
time.sleep( 2.5 )
"""
my output -->
prime numbers from 2 to <10,000,000 using a sieve algorithm
getPrimeList took 4750.000 ms
"""
|
希望本文所述对大家的Python程序设计有所帮助。