函数执行时间
import contextlib
import threading
import time
class TimeoutException(Exception):
pass
def raise_exception():
raise TimeoutException("Time out")
@contextlib.contextmanager
def time_limit(seconds: float):
timer = threading.Timer(seconds, lambda: raise_exception())
try:
timer.start()
yield
finally:
timer.cancel()
@time_limit(10)
def test(t):
print(t)
time.sleep(t)
for i in range(8, 14):
test(i)