【Python】sleep関数を使って処理を1秒待つ方法を解説

Pythonプログラミングを学ぶ上で、処理を一時停止させる方法が必要になることがあります。

例えば、APIを利用してデータを取得する際に、リクエストの間隔を開ける必要がある場合などです。

この記事では、Pythonで処理を一時停止させる方法として、sleep関数を使って処理を1秒待つ方法をわかりやすく詳しく解説します。

初心者の方でも理解できるように、サンプルコードを交えて説明していきます。

さらに、関数の使い方や注意点についても触れていきますので、ぜひ参考にしてください。

目次から探す

sleep関数とは

sleep関数とは、Pythonの標準ライブラリであるtimeモジュールに含まれる関数の一つで、プログラムの実行を一時的に停止させるために使用されます。

この関数を使うことで、指定した秒数だけプログラムの実行を一時停止させることができます。

これにより、例えば、APIへのアクセス制限を回避したり、処理のタイミングを調整したりすることが可能になります。

sleep関数の基本的な使い方は以下のようになります。

import time

time.sleep(秒数)

ここで、秒数には一時停止させたい秒数を小数点以下も含めて指定することができます。

例えば、1秒待ちたい場合は time.sleep(1) 、0.5秒待ちたい場合は time.sleep(0.5) と指定します。

次の節では、実際にsleep関数を使ったサンプルコードを見ていきましょう。

sleep関数の基本的な使い方

Pythonで処理を一時停止させる方法として、sleep関数があります。

この関数を使うことで、プログラムの実行を一定時間待機させることができます。

ここでは、sleep関数の基本的な使い方を説明します。

timeモジュールのインポート

sleep関数は、Pythonの標準ライブラリであるtimeモジュールに含まれています。

まずはじめに、timeモジュールをインポートしましょう。

import time

sleep関数の基本構文

sleep関数の基本構文は以下のようになります。

time.sleep(秒数)

引数には、待機させたい時間を秒単位で指定します。

小数点以下の値も指定できるため、ミリ秒単位での待機も可能です。

例: 1秒待つプログラム

それでは、実際にsleep関数を使って、処理を1秒間待機させるプログラムを作成してみましょう。

import time

print("処理を開始します。")
time.sleep(1)  # 1秒間待機
print("1秒後に処理が再開されました。")

このプログラムを実行すると、まず処理を開始します。と表示され、その後1秒間待機した後に1秒後に処理が再開されました。と表示されます。

以上が、sleep関数の基本的な使い方です。

この関数を使うことで、プログラムの実行を一定時間待機させることができます。

プログラムの処理を一時停止させる際には、sleep関数を活用してみてください。

sleep関数を活用した応用例

sleep関数は、プログラムの実行を一時停止させるために使用されます。

この章では、sleep関数を活用した応用例をいくつか紹介します。

ループ処理でのsleep関数の利用

ループ処理では、繰り返し同じ処理を行うことが多いです。

sleep関数を使って、ループの各ステップで一定時間待機させることができます。

forループとsleep関数

forループで繰り返し処理を行う際に、sleep関数を使って待機させる例を見てみましょう。

import time

for i in range(5):
    print(f"{i + 1}回目の処理")
    time.sleep(1)

print("処理が終了しました。")

このコードでは、1秒ごとに「1回目の処理」「2回目の処理」…「5回目の処理」と表示され、最後に「処理が終了しました。」と表示されます。

whileループとsleep関数

whileループでも同様に、sleep関数を使って待機させることができます。

import time

count = 0

while count < 5:
    print(f"{count + 1}回目の処理")
    time.sleep(1)
    count += 1

print("処理が終了しました。")

このコードでも、1秒ごとに「1回目の処理」「2回目の処理」…「5回目の処理」と表示され、最後に「処理が終了しました。」と表示されます。

タイマー機能の実装

sleep関数を使って、簡単なタイマー機能を実装することができます。

import time

def timer(seconds):
    while seconds > 0:
        print(f"残り{seconds}秒")
        time.sleep(1)
        seconds -= 1

    print("タイマーが終了しました。")

timer(5)

このコードでは、引数で指定した秒数だけカウントダウンし、タイマーが終了したことを表示します。

ウェブスクレイピングでの適切な待ち時間設定

ウェブスクレイピングを行う際には、サーバーに負荷をかけないように適切な待ち時間を設定することが重要です。

sleep関数を使って、リクエスト間に一定時間待機させることができます。

import time
import requests
from bs4 import BeautifulSoup

urls = ["https://example.com/page1", "https://example.com/page2", "https://example.com/page3"]

for url in urls:
    response = requests.get(url)
    soup = BeautifulSoup(response.text, "html.parser")
    # スクレイピング処理
    # ...
    time.sleep(3)  # 3秒待機

このコードでは、ウェブページのリストを順番に取得し、スクレイピング処理を行った後に3秒待機しています。

これにより、サーバーに過剰な負荷をかけずにデータを取得することができます。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す