File tree 1 file changed +56
-0
lines changed
1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change
1
+ # encoding: utf-8
2
+ __author__ = 'zhanghe'
3
+
4
+ import time
5
+
6
+
7
+ def time_log (func ):
8
+ """
9
+ 记录方法运行时间的装饰器
10
+ :param func:
11
+ :return:
12
+ """
13
+ def wrapper (* args , ** kw ):
14
+ func_name = func .__name__
15
+ start_time = time .time ()
16
+ print '方法%s开始时间:%s' % (func_name , time .ctime ())
17
+ back_func = func (* args , ** kw )
18
+ end_time = time .time ()
19
+ run_time = end_time - start_time
20
+ print '方法%s结束时间:%s' % (func_name , time .ctime ())
21
+ print '方法%s运行时间:%0.2fS' % (func_name , run_time )
22
+ return back_func
23
+ return wrapper
24
+
25
+
26
+ def time_log_with_des (text = '执行' ):
27
+ """
28
+ 记录方法运行时间的装饰器(带描述)
29
+ :param text:
30
+ :return:
31
+ """
32
+ def decorator (func ):
33
+ def wrapper (* args , ** kw ):
34
+ func_name = func .__name__
35
+ start_time = time .time ()
36
+ print '%s方法%s开始时间:%s' % (text , func_name , time .ctime ())
37
+ back_func = func (* args , ** kw )
38
+ end_time = time .time ()
39
+ run_time = end_time - start_time
40
+ print '%s方法%s结束时间:%s' % (text , func_name , time .ctime ())
41
+ print '%s方法%s运行时间:%0.2fS' % (text , func_name , run_time )
42
+ return back_func
43
+ return wrapper
44
+ return decorator
45
+
46
+
47
+ # @time_log
48
+ # @time_log_with_des()
49
+ @time_log_with_des ('调用' )
50
+ def foo ():
51
+ for i in xrange (100000000 ):
52
+ pass
53
+
54
+
55
+ if __name__ == '__main__' :
56
+ foo ()
You can’t perform that action at this time.
0 commit comments