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