t = datetime.strptime("2022/01/26 21:30", '%Y/%m/%d %H:%M')
t2 = (t - datetime.now()).seconds
print("処理開始")
time.sleep(t2)
print("Hello sleep")
# 処理開始
# Hello sleep
この例では、実行時刻をtに設定(例では2022/1/26 21:30)し、設定した時刻になったら”Hello sleep”と表示します。
tに指定時刻、t2に指定時刻と現在時刻の差分の秒数を代入し、t2の時間だけ待機することで実現しています。このようにtime.sleepを利用することで、指定の時刻に処理を開始することが可能です。
④
処理に猶予を生む
実際のソースコードを見ながら確認してみましょう。
今回はPythonを実務で利用する際によく使われるseleniumの例を紹介します。
※以下サンプルコードは一部のみを抜粋したものです。あくまでも参考として紹介しますのでご了承ください。
from selenium import webdriver
import time
#検証用仮想ブラウザの作成
driver = webdriver.Chrome('chromedriver',options=options)
# URLに移動
url = "https://www.google.com/"
driver.get(url)
# ページを表示する猶予を設定
time.sleep(2)
# 要素を検索
driver.find_element_by_name("q")
この例では、要素を検索する前にtime.sleepを挟み2秒待機しています。これにより、ウェブページを完全に読み込む前に要素の検索(今回は検索窓)を開始してしまうのを防いでいます。
このように読み込み中に次の処理に進むのを防ぐ際にも、time.sleepを利用できるのです。
4.sleep関数に関する疑問点