Python 業務自動化 | 基礎自動化:指定秒数待ってから処理する

Python Python
スポンサーリンク
スポンサーリンク

Python自動化の基礎として、指定秒数待ってから処理する考え方を理解する

Python自動化を学び始めると、ファイル操作、日付取得、時刻取得、ログ出力、一定間隔での繰り返しなど、さまざまな基礎技術に出会います。その中でも、一見地味ですが実際にはとてもよく使うのが「指定秒数待ってから処理する」という考え方です。

たとえば、何かの処理が完了するまで少し待ちたい、連続アクセスを避けるために間を空けたい、一定時間おいてから次の処理を実行したい、連続する操作の間に余裕を持たせたい、といった場面で役立ちます。自動化では「速く動かすこと」ばかりが大切に見えますが、実際には「適切に待つこと」も同じくらい重要です。

初心者の方は、プログラムは書かれた順にすぐ実行されるというイメージを持つことが多いです。これは基本的には正しいですが、現実の自動化では、すぐ次に進むと困る場面があります。たとえば、ファイル作成直後に別処理を走らせると、環境によってはまだ準備が整っていないことがあります。Webアクセスでも、短時間に連続して処理すると相手に負荷をかけることがあります。そのため、「待つ」という動作は、自動化を安定して安全に動かすための大切な技術です。

この記事では、Python自動化の基礎として、指定秒数待ってから処理する方法を、初心者向けに順を追ってわかりやすく解説します。基本の書き方だけでなく、なぜ待機が必要なのか、どのような場面で使うのか、どんな注意が必要かまで、例題やテンプレートを交えて詳しく説明します。

まず理解したい、なぜ「待つ」処理が必要なのか

プログラムは基本的に止まらずに進むからです

Pythonのプログラムは、上から下へ順番にどんどん実行されます。これは便利ですが、場合によっては「少し止まってほしい」と思うことがあります。自動化では特に、外部の状態変化を待つ、画面やファイルの準備を待つ、連続処理の間隔を空ける、といった目的で待機が必要になります。

つまり、待機処理とは「進みすぎないための制御」です。自動化では、ただ早く動くことが正解ではなく、正しいタイミングで動くことが重要です。

待機は安定動作のための大切な工夫です

待機を入れる代表的な理由には、次のようなものがあります。

  • 連続する処理の間に時間を空けるため
  • ファイルや画面の準備完了を待つため
  • 外部サービスへの負荷を下げるため
  • 繰り返し処理の間隔を調整するため
  • 人が結果を確認する時間を作るため

このように、待機は単なるおまけではありません。自動化を安全に、落ち着いて、予想どおり動かすための重要な要素です。

Pythonで指定秒数待つ基本

time.sleep() を使う

Pythonで指定秒数待つときに使うのが、time モジュールの sleep() です。これが最も基本的な方法です。

import time

# 先にメッセージを表示します
print("処理を開始します")

# 5秒待機します
time.sleep(5)

# 待機後にメッセージを表示します
print("5秒経ってから次の処理を実行しました")
Python

このコードでは、最初のメッセージが表示されたあと、5秒間処理が止まり、その後に次のメッセージが表示されます。初心者の方はまず、この「指定秒数の間、プログラムがそこで止まる」という感覚をしっかりつかむことが大切です。

秒数は整数だけでなく小数も使えます

sleep() には整数の秒数だけでなく、小数も指定できます。たとえば0.5秒待つこともできます。

import time

# 0.5秒待機する例です
print("少し待ちます")
time.sleep(0.5)
print("0.5秒後に再開しました")
Python

このように、短い待機も可能です。細かい間隔を調整したいときに便利ですが、初心者のうちはまず整数秒で理解すると分かりやすいです。

ステップバイステップで理解する、待機処理の流れ

最初に処理の順番を言葉で考える

「指定秒数待ってから処理する」と聞くと簡単そうに見えますが、コードを書く前に流れを日本語で考えると理解しやすくなります。たとえば次のような流れです。

  • 開始メッセージを表示する
  • 指定秒数だけ待つ
  • 本来の処理を実行する
  • 完了メッセージを表示する

このように、自動化したい流れを小さな手順に分解してからコードにするのが大切です。初心者の方は、いきなり文法から入るより、このような処理の流れを言葉にできるようになると成長が早いです。

待機は「前に入れる」のか「後に入れる」のかで意味が変わります

ここで重要なのが、待機をどこに入れるかです。たとえば、処理の前に待機を入れれば「少し待ってから処理する」になります。一方、処理の後に待機を入れれば「処理したあと少し待つ」になります。見た目は似ていますが、意味は違います。

初心者の方はここを曖昧にしがちです。自動化では、待機位置によって結果が変わることがあるため、「何のために待つのか」を意識して場所を決めることが大切です。

例題1 指定秒数待ってからメッセージを表示する

最初に作るべき最小の例

まずは、3秒待ってからメッセージを表示する、最もシンプルな例を見てみます。

import time

# 3秒待ってからメッセージを表示する関数です
def wait_and_show_message():
    # 開始メッセージを表示します
    print("3秒待ってから処理を行います")

    # 3秒待機します
    time.sleep(3)

    # 待機後の処理としてメッセージを表示します
    print("3秒経ったので処理を実行しました")

# メイン処理です
def main():
    wait_and_show_message()

if __name__ == "__main__":
    main()
Python

この例はとても単純ですが、「待機してから次へ進む」という流れを理解するには最適です。初心者の方は、まずこのレベルで動きを体感すると良いです。

例題2 指定秒数待ってからファイルを作成する

自動化らしい形へ少し進める

次に、待機のあとに実際の処理を行う例として、ファイル作成を見てみます。これにより、「待つ」ことが単なる表示ではなく、自動化の流れの一部だと理解しやすくなります。

import time

# 指定秒数待ってからファイルを作成する関数です
def wait_and_create_file():
    # 開始を知らせます
    print("2秒待ってからファイルを作成します")

    # 2秒待機します
    time.sleep(2)

    # ファイルを書き込みモードで開いて作成します
    with open("sample.txt", mode="w", encoding="utf-8") as file:
        # 内容を書き込みます
        file.write("このファイルは待機後に作成されました。\n")

    # 完了メッセージを表示します
    print("sample.txt を作成しました")

# メイン処理です
def main():
    wait_and_create_file()

if __name__ == "__main__":
    main()
Python

この例では、待機が終わってからファイルを作成しています。もし処理のタイミングを調整したい場合、このような書き方が役立ちます。たとえば、別のプログラムがファイル準備を終えるのを少し待つような場面をイメージすると分かりやすいです。

例題3 繰り返し処理の間に待機を入れる

待機は単発処理だけでなく、繰り返し処理でも重要です

待機処理は1回限りの流れだけでなく、繰り返し処理の間隔調整にも使います。これは自動化で非常によく出てくる形です。

import time

# 3回、2秒おきに処理を繰り返す関数です
def repeat_with_wait():
    # 3回繰り返します
    for i in range(3):
        # 現在何回目かを表示します
        print(f"{i + 1}回目の処理を実行します")

        # ここに本来の処理を書く想定です
        print("データ確認を行いました")

        # 最後の回でなければ2秒待機します
        if i < 2:
            print("2秒待機します")
            time.sleep(2)

# メイン処理です
def main():
    repeat_with_wait()

if __name__ == "__main__":
    main()
Python

この形は、一定間隔で処理を繰り返す自動化の基本です。初心者の方は、「待機は単独でも使うし、繰り返しの中でも使う」と理解しておくと、自動化の幅が広がります。

実務でよくある、待機を入れる理由の深掘り

外部の準備が終わるのを待つ

自動化では、自分のプログラムだけで完結しないことがあります。たとえば、別のソフトがファイルを出力する、画面が切り替わる、外部サービスが応答を返す、といった状況です。このとき、早く次へ進みすぎると、対象がまだ準備できていない可能性があります。

そのため、少し待ってから次の処理を行うことで、失敗を減らせることがあります。ただし、ここで大切なのは、むやみに長く待てばよいわけではないということです。本当に必要な待機かどうかを考えながら設計する必要があります。

連続アクセスを避ける

Webサイトや外部API、共有フォルダなどに対して連続で処理を行うと、相手に負荷をかけたり、制限に引っかかったりすることがあります。そのため、少し待ってから次のアクセスを行う設計が必要になることがあります。

これは技術的な都合だけでなく、マナーや安全性の面でも重要です。自動化では、自分の都合だけで高速に回すのではなく、相手の環境も考える視点が必要です。

初心者がつまずきやすいポイント

待機時間中は本当に処理が止まる

time.sleep() を使うと、その間はそのプログラムの処理が止まります。初心者の方は、裏で何か進んでいるように感じるかもしれませんが、基本的にはその部分で待機しています。つまり、待機中にその先の処理は進みません。

これはとても大事な理解です。待機を入れすぎると、全体の処理時間が長くなります。そのため、必要な場所に必要な長さだけ入れることが重要です。

処理時間と待機時間は別です

たとえば「5秒ごとに実行したい」と思って sleep(5) を入れても、その前の処理に2秒かかっていれば、次の実行まで合計7秒程度かかります。つまり、待機時間だけでなく、処理自体の時間も全体の間隔に影響します。

初心者の段階ではまず、「待機時間はそのまま追加される」と理解しておけば十分ですが、一定間隔の正確さが必要な処理では、この違いを意識することが大切です。

長い待機はデバッグを難しくすることがある

待機時間を長く設定すると、本当に処理が止まっているだけなのか、フリーズしているのかが分かりにくくなることがあります。初心者のうちは特に不安になりやすいです。そのため、学習中はまず短い秒数で試し、動作確認ができてから本来の秒数へ伸ばすほうが良いです。

安全性とセキュリティの観点から見た注意点

短すぎる待機で相手へ負荷をかけない

外部サービスやWebページ、共有リソースを相手にする自動化では、待機なしや極端に短い待機で連続アクセスを行うと、負荷や制限の問題が起きることがあります。そのため、指定秒数待つという仕組みは、単なる技術的操作ではなく、安全な運用のための配慮でもあります。

自動化では「動くからよい」ではなく、「迷惑をかけず安定して動くか」を考えることが重要です。

待機で問題をごまかしすぎない

初心者の方は、うまくいかないととりあえず長めに待機を入れて解決しようとしがちです。たしかに一時的には動くことがありますが、根本原因が別にある場合、待機だけで無理にごまかすと、後で不安定さが残ります。

たとえば、本来はファイルの存在確認をすべきなのに、ただ5秒待っているだけでは、環境が変わると失敗する可能性があります。待機は便利ですが、確認や条件判定と組み合わせて使う視点も大切です。

初心者向けの実用テンプレート

ここまでの内容を踏まえると、指定秒数待ってから処理する基本テンプレートは次のようになります。開始、待機、処理、終了が分かりやすく整理された形です。

import time

# 指定秒数待ってから処理するテンプレートです
def wait_and_process(wait_seconds):
    # 開始メッセージを表示します
    print("処理を開始します")

    # 何秒待つかを表示します
    print(f"{wait_seconds}秒待機します")

    # 指定秒数だけ待機します
    time.sleep(wait_seconds)

    # 待機後の処理を実行します
    print("待機が終わったので処理を実行します")

    # ここに実際の処理を書く想定です
    print("サンプル処理が完了しました")

    # 終了メッセージを表示します
    print("処理を終了します")

# メイン処理です
def main():
    # 3秒待ってから処理します
    wait_and_process(3)

if __name__ == "__main__":
    main()
Python

このテンプレートはとても基本的ですが、実際の自動化へ応用しやすい形です。待機秒数を引数にしているため、あとから変更しやすいのもポイントです。初心者の方は、毎回数字をコードの中に直接書くより、このように分けて考えると整理しやすくなります。

学習を進めるときのおすすめの順番

指定秒数待ってから処理する技術をしっかり身につけるには、次の順番で練習すると理解しやすいです。

  • まずは time.sleep(3) のような単純な待機を試す
  • 次に待機前と待機後でメッセージを表示する
  • その次に待機後に簡単なファイル操作を入れてみる
  • 繰り返し処理の間に待機を入れてみる
  • 待機秒数を変数や引数で管理する
  • 最後に、待機だけでなく確認処理との組み合わせを考える

この順番で進めると、単に文法を覚えるのではなく、自動化の中で待機をどう使うかが自然に身につきます。

まとめ

Python自動化の基礎として、指定秒数待ってから処理する技術はとても重要です。待機を入れることで、連続処理の間隔を調整したり、外部の準備完了を待ったり、相手への負荷を減らしたりできます。自動化では、速さだけでなくタイミングの適切さも大切です。

基本は time.sleep() を使うことです。ただし、本当に重要なのは、どこで待つべきか、何秒待つべきか、待機だけで問題をごまかしていないかを考えることです。待機は便利ですが、確認処理や条件分岐と組み合わせることで、より安全で安定した自動化になります。

初心者の方はまず、短い秒数で動作を確かめながら、待機前と待機後の流れを意識して練習すると良いです。そこからファイル操作や繰り返し処理へ広げることで、待機処理を実用的に使えるようになります。

指定秒数待ってから処理するという考え方は、一見小さな技術に見えて、自動化の安定性と安全性を支える大切な土台です。だからこそ、早い段階で丁寧に理解しておく価値があります。

タイトルとURLをコピーしました