安装第三方库 func_timeout
pip install func_timeout
import time
from func_timeout import func_set_timeout
@func_set_timeout(5)
def timer():
for i in range(1,11):
time.sleep(1)
print(i)
timer()
>>
1
2
3
4
Traceback (most recent call last):
File "...", line 1377, in <module>
timer()
File ".../python27/lib/python2.7/site-packages/func_timeout/dafunc.py", line 185, in <lambda>
return wraps(func)(lambda *args, **kwargs : func_timeout(defaultTimeout, func, args=args, kwargs=kwargs))
File ".../python27/lib/python2.7/site-packages/func_timeout/dafunc.py", line 101, in func_timeout
raise FunctionTimedOut('', timeout, func, args, kwargs)
func_timeout.exceptions.FunctionTimedOut: Function timer (args=()) (kwargs={}) timed out after 5.000000 seconds.
@func_set_timeout
Default number of seconds max to allow function to execute before throwing FunctionTimedOut