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

需求:

写一个装饰器当程序运行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

 

posted @ 2022-10-29 15:03  多测师_王sir  阅读(17)  评论(0编辑  收藏  举报