Pythonの待機コマンドの使い方
Python wait commandを使用したコードに時間の遅延を追加する方法
Pythonは、プログラムを一時停止させるための組み込みサポートを提供しています。time
モジュールには、プログラムの実行を指定した秒数だけ一時停止させるためのsleep()
関数があります。
以下は、time.sleep()
を使用する方法の例です。
コンソールでこのコードを実行すると、REPLで新しいステートメントを入力する前に遅延が発生するはずです。
注意:Python 3.5では、time.sleep()
の動作がわずかに変更されました。新しいPython sleep()
システムコールは、指定した秒数だけ最低でもスリープが続くようになります。ただし、スリープがシグナルによって中断された場合にはこの制限は適用されません。ただし、シグナル自体が例外を発生させる場合は適用されません。
スリープの期間をテストするには、Pythonのtimeit
モジュールを使用できます。
ここでは、timeit
モジュールを-n
パラメータとともに実行し、続く文を実行する回数を指定しています。3回実行され、最良の実行時間が3秒であることがわかります。
timeit
がコードを実行するデフォルトの回数は100万回です。上記のコードをデフォルトの-n
で実行すると、1イテレーションあたり3秒かかるため、ターミナルが約34日間ハングすることになります。timeit
モジュールには、その他にもいくつかのコマンドラインオプションがありますので、ドキュメントを参照してください。
より現実的な例を作成しましょう。システム管理者は、自分のウェブサイトがダウンしたかどうかを知りたいと思っています。ウェブサイトのステータスコードを定期的にチェックできるようにしたいのですが、次の呼び出しの間に適切な時間の遅延が必要です。
次のコード例では、time.sleep()
を使用して適切な時間の遅延を実装しています。
このコードでは、指定したURLのウェブサイトのステータスコードを確認し、ステータスコードが200でない場合は10秒間待機し、ステータスコードが200の場合はループを抜けます。
Pythonのtime.sleep()
コマンドを使用すると、プログラムに時間の遅延を追加することができます。この機能を使用することで、ファイルのアップロードやダウンロードの待機、グラフィックの読み込みや画面への表示の遅延など、さまざまなシナリオに使用することができます。