见https://zhuanlan.zhihu.com/p/39743129
如下代码原创,可测试:
import time
from func_timeout import func_set_timeout,FunctionTimedOut
def time_out(fn,*args,**kwargs):
def wrapper(*args,**kwargs):
try:
result = fn(*args,**kwargs)
return result
except FunctionTimedOut:
print 'timeout'
return None
return wrapper
@time_out
@func_set_timeout(2)
def a():
time.sleep(3)
return 'b'
if __name__ == '__main__':
c = a()
print c
本文介绍了一种在Python中实现函数调用超时的方法,通过使用装饰器和自定义异常处理,确保长时间运行的函数能够被及时中断,避免资源浪费。
309

被折叠的 条评论
为什么被折叠?



