python調用函數超時設置


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 捕獲。

程序運行中可以拋出異常。如果暫停或者卡住,就無效了。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM