Pythonで処理を待たせたい。
そんな場合に使えるのがtimeモジュールの sleep()
メソッド。
今回は sleep()
メソッドの使い方を紹介する。
ミリ秒単位で待たせる方法についても紹介する。
この記事を書いている人
記事を読むメリット
Pythonで処理を一定時間待たせる「sleep」の使い方がわかる
Pythonで処理を一定時間待たせる「sleep」の使い方
Pythonで処理を一定時間待たせるには time
モジュールの sleep()
メソッドを使う。
time.sleep(secs)
与えられた秒数の間、呼び出したスレッドの実行を停止します。
使い方としては以下の通り。
import datetime import time # Now dt_now = datetime.datetime.now() print(dt_now) # 2020-12-06 17:53:15.298606 for i in range(5): time.sleep(1) print(datetime.datetime.now()) # 2020-12-06 17:53:16.299756 # 2020-12-06 17:53:17.300467 # 2020-12-06 17:53:18.301216 # 2020-12-06 17:53:19.301540 # 2020-12-06 17:53:20.301975
time.sleep(1)
を1回実行するごとに約1秒待っているのがわかる。
ミリ秒単位でsleepさせる方法
sleep()
が秒単位であるなら、もっと小さいミリ秒単位でsleepさせたい場合はどうすればいいのか。
答えは簡単で time.sleep(0.001)
とすれば良い。
for i in range(5): time.sleep(0.001) print(datetime.datetime.now()) # 2020-12-06 18:11:52.367644 # 2020-12-06 18:11:52.369629 # 2020-12-06 18:11:52.371647 # 2020-12-06 18:11:52.373623 # 2020-12-06 18:11:52.374624
ただ結果を見るとわかるように、ミリ秒単位でsleepしても他の処理時間の影響を受けるのできっちり1ミリ秒後にはならない。
ほぼ1ミリ秒と考えておこう。
まとめ
Pythonで処理を一定時間待たせるには time
モジュールの sleep()
メソッドを使う。
time.sleep(1)
なら約1秒間処理が停止する。
time.sleep(0.001)
なら約1ミリ秒間のスリープとなる。
他にもPythonで現在時刻を取得する方法や時間を足し算引き算をする方法の記事もあるので、もし気になったら見て欲しい。