• 写一个装饰器当程序运行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
  • 相关阅读:
    jdbc入门
    mysql 各项操作流程
    python中的细小知识点罗列
    Linux之高级指令
    linux之进阶指令
    Linux之基础指令
    STL之适配器
    STL之谓词
    STL之函数对象
    STL之map容器和multimap容器
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/16838765.html
Copyright © 2020-2023  润新知