函数执行时间

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)

 

posted @ 2025-06-09 16:20  papering  阅读(9)  评论(0)    收藏  举报