精华内容
下载资源
问答
  • 平时会碰到一些实时项目,有些函数必须要在某一时限完成,所以必须要加入一些手段去监控函数的运行...log_time_delta可以对函数运行时间进行一个记录。from functools import wraps from threading import Timer import

    平时会碰到一些实时项目,有些函数必须要在某一时限完成,所以必须要加入一些手段去监控函数的运行时间,下面的装饰器time_limit提供了这么一个功能,如果函数未能在规定时间内完成,则会抛出TimeoutError。
    log_time_delta可以对函数运行时间进行一个记录。

    from functools import wraps
    from threading import Timer
    import time
    from datetime import datetime
    
    
    def log_time_delta(func):
        @wraps(func)
        def deco():
            start = datetime.now()
            res = func()
            end = datetime.now()
            delta = end - start
            print("func runed ", delta)
            return res
        return deco
    
    
    def time_limit(interval):
        @wraps(func)
        def deco(func):
            def time_out():
                raise TimeoutError()
    
            @wraps(func)
            def deco(*args, **kwargs):
                timer = Timer(interval, time_out)
                timer.start()
                res = func(*args, **kwargs)
                return res
            return deco
        return deco
    
    @log_time_delta
    def t():
        time.sleep(2)
    
    @time_limit(2)
    def tl():
        time.sleep(5)
    
    t()
    tl()

    输出结果为:

    func runed  0:00:02.000159
    Exception in thread Thread-6:
    Traceback (most recent call last):
      File "C:\Python35\lib\threading.py", line 914, in _bootstrap_inner
        self.run()
      File "C:\Python35\lib\threading.py", line 1180, in run
        self.function(*self.args, **self.kwargs)
      File "E:/prj/gevent_/time_util.py", line 32, in time_out
        raise TimeoutError()
    TimeoutError
    展开全文
  • Python 计算函数运行时间

    万次阅读 2019-03-26 11:27:31
    那么本文推荐两种监控函数运行时间的方法。 方法一: 在程序内使用time模块记录时间,计算使用的时间 import time def test(): start_time = time.time() # 记录程序开始运行时间 s = 0 for i in r...

    在Python中,有时候为了优化代码,我们需要监控哪些函数使用了比较多的时间,或者是为了单纯查看函数的运行时间。那么本文推荐两种监控函数运行时间的方法。


    方法一: 在程序内使用time模块记录时间,计算使用的时间
    import time
    
    def test():
        start_time = time.time()  # 记录程序开始运行时间
        s = 0
        for i in range(1000000):
            s += 1
        end_time = time.time()  # 记录程序结束运行时间
        print('Took %f second' % (end_time - start_time))
        return s
    
    test()
    
    # 运行结果:
    Took 0.085060 second
    Out[47]: 1000000
    

    这种方法快速简单,只需要在程序中加入三行命令即可实现运行时间的计算。


    方法二:定义装饰器,装饰需要计算时间的函数进行监控
    import time
    from functools import wraps
    
    def timefn(fn):
        """计算性能的修饰器"""
        @wraps(fn)
        def measure_time(*args, **kwargs):
            t1 = time.time()
            result = fn(*args, **kwargs)
            t2 = time.time()
            print(f"@timefn: {fn.__name__} took {t2 - t1: .5f} s")
            return result
        return measure_time
    
    
    # 在定义函数前进行装饰
    @timefn
    def test():
        s = 0
        for i in range(1000000):
            s += 1
        return s
        
    test()
    
    # 运行结果:
    @timefn: test took 0.05930 s
    Out[15]: 1000000
    

    这种方法显然更具有复用性,同时也更Pythonic。适合在程序中有多个函数需要监控时间的时候使用。需要注意的是:在Python2中获取函数名称的写法为fn.func_name,而在Python3中变为了fn.__name__。该用法涉及到装饰器的使用,想要更深入地了解可以到:
    http://www.runoob.com/w3cnote/python-func-decorators.html
    上面的这种写法也相当于:

    timefn(test())
    # 运行结果:
    @timefn: test took 0.05956 s
    Out[16]: <function __main__.timefn.<locals>.measure_time>
    

    但装饰器的写法不会破坏原来函数的结构。

    展开全文
  • time模块 import time time_start=time.time() time_end=time.time() print('Running time:{} seconds'.format(time_start - time_end)) datetime模块 ...import datetime time_start = datetime.datetime.now() ...


    time模块

    import time
    time_start=time.time()
    time_end=time.time()
    print('Running time:{} seconds'.format(time_start - time_end))

    datetime模块

    import datetime 
    time_start = datetime.datetime.now() 
    #long running 
    time_end = datetime.datetime.now() 
    print (time_end - time_start).seconds

     

    展开全文
  • 但靠时间戳相减得到运行时间对于大规模程序是比较卑微的,你得命名很多个变量名去记录时间戳。这个时候,可以利用装饰器来记录时间。 本文介绍两种方法,进行对比。 常规版: from time import time def run():...

    众所周知,python中的time模块可以获取时间戳,然后得到程序片运行所消耗的时间。但靠时间戳相减得到运行时间对于大规模程序是比较卑微的,你得命名很多个变量名去记录时间戳。这个时候,可以利用装饰器来记录时间。

    本文介绍两种方法,进行对比。

    常规版:

    from time import time
    
    def run():
        res = 0
        for i in range(10000):
            for j in range(10000):
                res += 1
                res -= 1
    
    
    if __name__ == '__main__':
        start = time() # 获取函数开始的时间戳
        run()
        end = time() # 获取函数结束的时间戳
        print('time cost:', end-start) # 相减得到运行时间
    

    decorator版:

    from time import time
     
     
    def time_costing(func):
        def core():
            start = time()
            func()
            print('time costing:', time() - start)
        return core
     
     
    @time_costing
    def run():
        res = 0
        for i in range(10000):
            for j in range(10000):
                res += 1
                res -= 1
     
     
    if __name__ == '__main__':
        run()

    用装饰器测函数时间的优越性体现在,只需在任何函数前一行加@xxx就可以。实属帅气又方便,对于大规模程序的细节时间监测非常有用。干净又卫生。

    装饰器不太明白的同学请戳《python中的装饰器

    hope it's useful to you, thanks.

    展开全文
  • Python记录程序运行时间 内置模块time包含很多与时间相关函数。我们可通过它获得当前的时间和格式化时间输出。 import time start = time.clock() #当中是你的程序 elapsed = (time.clock() - start) print...
  • python指定时间运行函数

    千次阅读 2015-09-16 15:51:54
    在指定时间删除/home/app下所有文件和目录并删除程序本身和清除历史记录代码如下:#!/usr/bin/env python #coding:utf-8import os import sys import time import signal import sched time_run = "2015-09-16 15:...
  • Python时间函数

    2018-06-21 15:03:20
    在用Python编写程序时经常会遇到需要求解一个函数运行时间的情况,在做CS231n作业的时候,发现一个利用Python语言特性编写的比较巧妙的计算方法,这里记录和大家分享一下: def time_function(f, *args): "&...
  • Python3日期和时间 一、 time模块 1. 基本介绍 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。 Python 提供了一个 time 和 calendar 模块可以...Python 的 time 模块下有很多函数可以...
  • # 此装饰器是查看函数运行用了多长时间 @wraps ( fn ) def wrapper ( * args , ** kwargs ) : start = datetime . datetime . now ( ) ret = fn ( * args , ** kwargs ) delta = ( datetime...
  • python记录运行时间

    千次阅读 2019-05-07 11:03:10
    导入时间函数time import time time_begin = time.time() #code,你的程序 time_end = time.time() time = time_end - time_begin print('time:', time)
  • 很简单,使用time中的time函数即可,这个函数返回当前时间,只要将结束的时间减去开始...print("程序运行时间为:" + str(end-start) + "秒") 今天的课程就到这儿了,虽然很短,但也希望你们能学到精髓,拜拜! ...
  • import time if __name__ == '__main__': start = time.perf_counter () # 起始时间 我是函数( ̄▽ ̄)" ... print ('运行时间%.10fs' % (end - start)) # 输出运行时间,精确到小数点后十位 ...
  • python 函数记录

    2018-11-19 10:24:00
    time.sleep(t)函数推迟调用线程的运行,可通过参数 t 指定秒数,表示进程挂起的时间。 2.lock = threading.RLock()和lock = threading.Lock() 锁有两种状态:被锁(locked)和没有被锁(unlocked)。拥有acquire...
  • """函数执行时间,参数,结果""" @functools.wraps(func) def inner(*args, **kwargs): t0 = time.time() result = func(*args, **kwargs) time_use = time.time() - t0 func_name = func.
  • 文章目录一、装饰器的功能二、一个简单的统计某函数执行时间的装饰器代码实现 一、装饰器的功能 一、装饰器可以在不改动函数原代码和代码执行方式的同时,为某个函数添加新的功能,可以使得代码更简洁。 同时,不...
  • python当中,用于计算程序运行时间的模块有:time 和 datetime。而我个人喜欢用 time 模块。 time 模块有两个子函数可用于计算时间: 方法一、time.time() import time time_start = time.time() # 记录开始时间 #...
  • 最近发现项目API请求比较慢,通过抓包发现主要是response时间太长,于是就开始进行优化工作...工欲善其事,必先利其器,我们需要一套方便高效的工具记录函数运行时间。说是一套工具,但对于一个简单项目或者日常开发...
  • Python版计算程序运行时间

    千次阅读 2018-08-24 21:59:58
    我以前在C语言中介绍过计算程序运行时间的方法,该...4.把步骤3和步骤1中记录的时间相减后就是程序的运行时间 我们知道time模块的time()函数具有获取当前时间的功能,使用该函数获取当前时间并且记录就可以。 下...
  • 文章目录time模块介绍time.time()获取当前时间戳time模块中的时间元组获取当前时间获取格式化的时间格式化日期time其他函数介绍计时模块的设计方法一:方法二: time模块介绍 Python 程序能用很多方式处理日期和时间...
  • 出于工作的需求,接触了python,但是有一些基础的函数需要反复调用,每次使用的时候都要重新找一遍材料,为了方便自己,就单独记录了一下自己用的一些有用的参数,分享给大家。 2021年5月13日更新 遍历文件夹(包括...
  • python函数装饰器

    2021-01-23 12:35:36
    例如,当计算一个函数运行时间时,需要记录开始调用的时刻和返回的时刻,并进行相减得到时间。如果重复进行多次,则需要做多个这种操作。为了简化这一过程,可使用装饰器。如 def timmer(func): def wrapper(): ...
  • python 函数装饰器

    2018-04-18 17:47:12
    在学习装饰器的时候,对带参数的装饰器有些不太理解 通过例子有了一点想法记录下来,后续遇到问题的时候回顾反思一下吧问题:打印出函数运行时间,可以传入参数 选择打印s 或者 ms代码:import time def ...
  • 函数装饰器——python

    2020-10-02 10:49:25
    Python函数装饰器 代码1: import time def cal_time(fn): # 计算代码运行时间 # def start(): start_time = time.time() # 记录代码开始执行时间戳 return_value1 = fn() # 执行目标函数 end_time = time....

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 192
精华内容 76
关键字:

python记录函数运行时间

python 订阅