Pythonでは、特定の時間だけプログラムを一時停止させるためにsleep
関数を使用することができます。また、非同期プログラミングにおいては、asyncio.wait_for
関数を使用して特定の時間内に非同期タスクが完了するのを待つことも可能です。
Pythonのsleep関数
Pythonのsleep
関数は、指定した秒数だけプログラムを一時停止させるための関数です。この関数はtime
モジュールに含まれており、以下のように使用します。
import time
print("Start")
time.sleep(5) # 5秒間待機
print("End")
上記のコードでは、”Start”を出力した後に5秒間プログラムを一時停止し、その後に”End”を出力します。
Pythonのasyncio.wait_for関数
Pythonのasyncio.wait_for
関数は、特定の時間内に非同期タスクが完了するのを待つための関数です。この関数はPython 3.4.1以降で利用可能で、以下のように使用します。
import asyncio
async def my_coroutine():
# 何かの処理
pass
async def main():
try:
await asyncio.wait_for(my_coroutine(), timeout=1.0)
except asyncio.TimeoutError:
print('The coroutine took too long, cancelling the task...')
asyncio.run(main())
上記のコードでは、my_coroutine
という非同期タスクが1秒以内に完了するのを待っています。もし1秒以内に完了しなければ、asyncio.TimeoutError
例外が発生します。
以上がPythonで待機処理を行う基本的な方法です。これらの関数を適切に使用することで、プログラムの動作をより細かく制御することが可能になります。