python函数执行超时处理的两种方法(python运行超时是什么意思)

网友投稿 844 2022-08-28


python函数执行超时处理的两种方法(python运行超时是什么意思)

背景

最近写了自动化需要下载apk,但有时候部分包下载很慢,影响整体测试时间,所有需要设定下载超时自动退出。

方法一:

通过func_timeout模块的@func_set_timeout()来实现

步骤:

1.安装 pip install func_timeout

2.不多说了直接上代码

#_________________________________方式1:通过func_timeout装饰器来解决函数执行超时______________________________________________from func_timeout import func_set_timeoutimport func_timeout@func_set_timeout(3)#设定函数超执行时间_def task(): print('hello world') time.sleep(5) return '执行成功_未超时'if __name__ == '__main__': try: print(task()) #若调用函数超时自动走异常(可在异常中写超时逻辑处理) except func_timeout.exceptions.FunctionTimedOut: print('执行函数超时')

方法二:

通过eventlet模块来实现

步骤:

1.安装 pip install eventlet

import eventlet#导入eventlet这个模块###########普通方式###########################eventlet.monkey_patch()#必须加这条代码with eventlet.Timeout(5,False):#设置超时时间为5秒 time.sleep(4) print('没有跳过这条输出')print('跳过了输出')###########函数方式#######################def timeou(name,_time): eventlet.monkey_patch()#必须加这条代码 with eventlet.Timeout(_time,False):#设置超时间 if isinstance(name,str): print('name为字符串类型_值是{}'.format(name)) return 'str' else: print('name类型为:{}'.format(eval(str(type(name)).split()[1][:-1]))) return eval(str(type(name)).split()[1][:-1]) print('不好意思函数调用超时')if __name__ == '__main__': print(timeou('你好靓女!',3))


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python从门到精通(一):基础-01-开发环境配置(python的配置环境)
下一篇:java WebSocket 服务端实现代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~