日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python怎么设置函数超时时间_在python运行时为函数设置超时秒数

發布時間:2025/3/19 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python怎么设置函数超时时间_在python运行时为函数设置超时秒数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我遵循this解。在

我試圖為我的函數during runtime設置超時秒數,這使我能夠靈活地傳遞不同的timeout seconds,甚至不打開腳本(測試.py)在

在超時.py在from functools import wraps

import errno

import os

import signal

class TimeoutError(Exception):

pass

def timeout(seconds=60, error_message=(os.strerror(errno.ETIMEDOUT)).upper()):

def decorator(func):

def _handle_timeout(signum, frame):

raise TimeoutError(error_message)

def wrapper(*args, **kwargs):

signal.signal(signal.SIGALRM, _handle_timeout)

#print "Timeout seconds =: " , seconds

signal.alarm(seconds)

try:

result = func(*args, **kwargs)

finally:

signal.alarm(0)

return result

return wraps(func)(wrapper)

return decorator

在主.py(只接受運行時傳遞的任何參數)

^{pr2}$

在測試.py在from timeout import timeout

from timeout import TimeoutError

#@timeout(30)

@timeout() #

def func(args1,args2,timeout_sec):

#do something

要運行此程序:python main.py abc abc 45 #this overrids seconds from timeout.py

在測試.pytimeout()或timeout(30)可以工作,但是有沒有什么方法可以使它成為動態的,并在@timeout(arg3)中以“arg3”的形式傳遞秒數

我有什么辦法可以做到這一點嗎?在

總結

以上是生活随笔為你收集整理的python怎么设置函数超时时间_在python运行时为函数设置超时秒数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。