python调用函数超时设置

允我心安 提交于 2020-12-18 05:53:41

1、Windows中sign报错,Linux能很好的使用:

https://pypi.python.org/pypi/timeout-decorator

 

 

2、Windows可以使用,Linux报错不能导入包,其实已经安装,问题没解决

https://pypi.python.org/pypi/func_timeout

from func_timeout import func_set_timeout, FunctionTimedOut
@func_set_timeout(2.5)
def mytest2():
    print("Start")
    for i in range(1, 10):
        print("%d seconds have passed" % i)
        time.sleep(10)
if __name__ == '__main__':
    try:
        mytest2()
    except FunctionTimedOut as e:
        print('mytest2:::', e)

调用函数时捕获异常,可以在程序暂停时产生作用。

 

3、Windows、Linux都可以使用的

https://pypi.python.org/pypi/stopit

import stopit
@stopit.threading_timeoutable()
def infinite_loop():
    # As its name says...
    try:
        print("Start")
        for i in range(1, 10):
            print("%d seconds have passed" % i)
            time.sleep(10)
    except Exception as e:
        traceback.print_exc()
if __name__ == '__main__':   infinite_loop(timeout=1)

超时会抛出异常,我们可以设置 try except 捕获。

程序运行中可以抛出异常。如果暂停或者卡住,就无效了。

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!