Pythonで時間遅延(スリープ)を作成する方法:time.sleep()関数の使い方
Pythonプログラムの実行中に、一定の間隔だけ処理を一時停止させたい場面はよくあります。例えば、APIへのリクエスト間隔を空けたり、アニメーションのような演出を行ったりするケースです。このような時間遅延を実現するには、Python標準ライブラリの time モデルに用意されている sleep() 関数を使用します。
time.sleep()関数の基本構文
sleep() 関数は、引数として秒数を受け取り、その時間だけプログラムの実行を停止します。
import time time.sleep(sec)
引数には整数だけでなく、小数(浮動小数点数)も指定できます。例えば time.sleep(0.5) とすれば、0.5秒の一時停止が可能です。
使用例
次の例では、まず現在時刻を表示し、その後 sleep() 関数によって10秒間の遅延を挿入してから、再度現在時刻を表示しています。
import time
print("current time : ", time.ctime())
time.sleep(10)
print("after 10 sec : ", time.ctime())実行結果のイメージ
current time : Mon Jan 15 10:30:00 2024 after 10 sec : Mon Jan 15 10:30:10 2024
出力を見ると、2つの時刻表示の間にちょうど10秒の差があることが確認できます。
補足ポイント
- ブロッキング動作:
sleep()は呼び出したスレッド全体を停止させます。マルチスレッド環境では、他のスレッドは影響を受けずに動作を続けます。 - 正確な精度: 一時停止の実際の時間はOSのスケジューリングの影響を受けるため、指定した秒数よりわずかに長くなる場合があります。
- 割り込み処理: スリープ中にキーボード割り込み(Ctrl+C)が発生すると
KeyboardInterrupt例外が送出されるため、必要に応じて例外処理を組み合わせると安全です。
このように、time.sleep() を使えばPythonで簡単かつ確実に時間遅延を実装できます。ループ内での定期処理や待機処理など、さまざまな場面で活用してみてください。
-
Pythonで対数ヒストグラムを作成する方法【matplotlib活用】
Pythonのmatplotlibを使って対数(ログ)スケールのヒストグラムを作成するには、hist()メソッドの引数にlog=Trueを指定します。これにより、縦軸が対数スケールで表示され、値の範囲が大きく異なるデータも見やすく可視化できます。作成手順数値のリスト(配列)を用意します。density=Trueを指定して、正規化されたヒストグラムをプロットします。図を表示するには、show()メソッドを呼び出します。サンプルコードimport numpy as np import matplotlib.pyplot as plt plt.rcParams[figure.figsize] = [
-
Pythonで時系列データをプロットする方法をわかりやすく解説
Pythonのmatplotlibを使えば、時系列データ(日時を軸にしたデータ)を簡単にグラフ化できます。ここでは、datetimeオブジェクトを含むデータを折れ線グラフとして描画する基本的な手順を紹介します。 時系列プロットの基本手順 numpyを使用して、x軸(日時データ)とy軸(数値データ)を作成します。 plot()メソッドを使って、作成したx・yのデータをプロットします。 show()メソッドを実行して、図を画面に表示します。 コード例 以下のサンプルコードでは、2021年1月1日の0時から23時までの24個の日時データを生成し、それに対応するランダムな数値をy軸としてプロットし