首页 > 编程语言 >写一个装饰器当程序运行24小时后自动停止运行+对运行时间自动化计时【多测师_王sir】【杭州多测师】

写一个装饰器当程序运行24小时后自动停止运行+对运行时间自动化计时【多测师_王sir】【杭州多测师】

时间:2022-10-29 15:11:25浏览次数:51  
标签:24 count myfunc 多测师 程序运行 start time print end

需求:

写一个装饰器当程序运行24小时后自动停止运行+对运行时间自动化计时

import datetime
import time
def time_printer():
    '''运行程序最开始的时间'''
    now = datetime.datetime.now()
    return now

def loop():
    start_time = time_printer()
    while True:
        print(1111)
        # time.sleep(2)  # 暂停2秒
        end_time = datetime.datetime.now()
        count_time = (end_time - start_time).seconds  #结尾的时间-最开始的时间等于10秒就停止
        if count_time == 3600*24:
            print("总共运行了:{}秒钟".format(count_time))
            break

if __name__ == "__main__":
    loop()
# 涉及到计时,需要引入time模块
import time
# 定义一个对函数运行耗时统计的计时器,用func作为形参来代替需要统计的函数
def count_time(func):
    '''
    author:多测师_王sir
    :param func:
    :return:
    '''
    def call_func():
        print("计时器开始:函数开始调用:")
        start_time = time.time()
        func()
        end_time = time.time()
        print('计时器结束,函数调用完成')
        return print(f'计时器结果返回:函数调用耗时{end_time-start_time:.2f}')
    return call_func

@count_time
# 即在调用myfunc函数时,不是直接调用myfunc
# 而是将myfunc函数作为一个参数放入到@的装饰器中,然后去调用装饰器
def myfunc():
    print('myfunc函数运行')
    start_time = time.time()
    while True:
        print(111)   #执行黛米
        end_time = time.time()
        count = end_time - start_time
        if count >= 3600*24:
            break
    print('myfunc函数运行结束')

myfunc()  # 调用myfunc

 

标签:24,count,myfunc,多测师,程序运行,start,time,print,end
From: https://www.cnblogs.com/xiaoshubass/p/16838765.html

相关文章