\

Pythonで関数の実行時間を制限するための方法はいくつかあります。以下に、それぞれの方法とその使用例を示します。

timeout-decorator

timeout-decoratorは、デコレータとして関数に適用し、指定した時間が経過するとタイムアウトさせることができます。以下に使用例を示します。

import timeout_decorator

@timeout_decorator.timeout(5)
def mytest():
    print("Start")
    for i in range(1,10):
        time.sleep(1)
        print("{} seconds have passed".format(i))

if __name__ == '__main__':
    mytest()

このコードでは、mytest関数が5秒以上実行されると、タイムアウトエラーが発生します。

timeout-timer

timeout-timerは、関数やステートメントにtimeout()関数を追加し、制限時間がなくなった場合に例外を発生させます。以下に使用例を示します。

from timeout_timer import timeout

@timeout(5)
def mytest():
    print("Start")
    for i in range(1,10):
        time.sleep(1)
        print("{} seconds have passed".format(i))

if __name__ == '__main__':
    mytest()

このコードでは、mytest関数が5秒以上実行されると、タイムアウトエラーが発生します。

py-timeout

py-timeoutは、Pythonの関数やメソッドの実行時間でのタイムアウト機能を提供します。以下に使用例を示します。

from py_timeout import timeout

@timeout(5)
def mytest():
    print("Start")
    for i in range(1,10):
        time.sleep(1)
        print("{} seconds have passed".format(i))

if __name__ == '__main__':
    mytest()

このコードでは、mytest関数が5秒以上実行されると、タイムアウトエラーが発生します。

これらのライブラリを使用することで、Pythonの関数の実行時間を制限することが可能です。適切なライブラリを選択し、コードのパフォーマンスと効率を向上させましょう。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です