コンテンツにスキップ

Pythonディレイの使い方と修正方法

[

Pythonのtime.sleep()を使用して遅延を追加する方法

開発者がPythonプログラムを一時停止する必要があることはよくあります。ほとんどの場合、コードをできるだけ早く実行したいと思うでしょう。しかし、プログラムをしばらくスリープさせることが実際には最善の方法である場合もあります。

このチュートリアルでは、Pythonのsleep()呼び出しの追加方法について学びます。

time.sleep()を使用してPythonのsleep()呼び出しを追加する

time.sleep()を使用する方法の例を次に示します。

import time
time.sleep(3) # 3秒間スリープする

このコードをコンソールで実行すると、新しいステートメントをREPLに入力する前に遅延が発生するはずです。

注意: Python3.5では、コアデベロッパーはtime.sleep()の動作をわずかに変更しました。新しいPythonのsleep()システムコールは、指定した秒数だけスリープが信号によって中断された場合でも、少なくともその秒数だけ続くようになります。ただし、信号そのものが例外を発生させる場合は適用されません。

スリープがどれくらい続くかをPythonのtimeitモジュールを使用してテストすることもできます。

ターミナルウィンドウ
$ python3 -m timeit -n 3 "import time; time.sleep(3)"
3 loops, best of 5: 3 sec per loop

ここでは、timeitモジュールを-nパラメータとともに実行しています。これにより、続くステートメントを何回ランするかをtimeitに伝えます。実行時間が3秒であり、期待どおりベストの実行時間が3秒であることがわかります。

timeitが実行するコードのデフォルトの回数は100万回です。デフォルトの-nで上記のコードを実行する場合、1回の反復ごとに3秒かかるため、ターミナルは約34日間固まります!timeitモジュールには、そのドキュメントで確認できるいくつかの他のコマンドラインオプションがあります。

より現実的なものを作成してみましょう。システム管理者は、自分のウェブサイトのいずれかがダウンした場合に知る必要があります。ウェブサイトのステータスコードを定期的にチェックできるようにしたいのですが、

コンテンツの続きはオリジナルの記事を参照してください。