Pythonで「〇時になったら自動でプログラムを進めたい」と考えたことはありませんか?
本記事では、指定した時間に処理を開始するPythonコードを、while文とif文を用いて実装する方法をご紹介いたします。
「16時になったら処理を進める」といったシンプルな仕様を、丁寧に解説してまいります。
実現したいことと背景
「特定の時刻になったら、自動的にプログラムを実行させたい」という目的から、Pythonの基本的な文法を活用して試行錯誤を行いました。
なお、schedule()関数の使用も検討しましたが、定期実行に特化しており、「特定の時刻に1度だけ実行する」といった用途には不向きだと感じたため、今回は採用しておりません。
実装したPythonコード
以下が、指定した時間(例:16時)に処理を進めるためのサンプルコードです。
import datetime
import time
set_time = "16:00:00"
dt = datetime.datetime.now()
time1 = dt.strftime("%H:%M:%S")
print(time1)
while time1 <= set_time:
if time1 == set_time:
print(time1)
print("成功")
break
dt = datetime.datetime.now()
time1 = dt.strftime("%H:%M:%S")
print(time1)
print("失敗")
time.sleep(1)
コードの説明
1行ずつ丁寧に解説いたします。
1〜2行目:モジュールのインポート
import datetime
import time
時刻の取得とウェイト処理のために、datetimeとtimeモジュールを使用します。
3行目:実行したい時刻の設定
set_time = "16:00:00"
この変数に、処理を実行したい時刻を文字列形式で設定します。
4〜6行目:現在時刻の取得と整形
dt = datetime.datetime.now()
time1 = dt.strftime("%H:%M:%S")
print(time1)
現在時刻を取得し、HH:MM:SS形式に整形して、確認のために一度出力しています。
7〜16行目:ループで時刻を監視
while time1 <= set_time:
if time1 == set_time:
print(time1)
print("成功")
break
dt = datetime.datetime.now()
time1 = dt.strftime("%H:%M:%S")
print(time1)
print("失敗")
time.sleep(1)
while文は、現在時刻が設定時刻以下である限りループを継続します。if文で現在時刻が一致したら、「成功」と表示し、breakでループを終了します。- 一致しない場合は、1秒待機(`time.sleep(1))しつつ再チェックします。
この仕組みにより、PCに過剰な負荷をかけず、秒単位で時刻を監視できます。
動作確認用のprint文について
コード中に多数のprint()文を使用しておりますが、これは開発時に「現在どの状態なのか」を確認するためのものです。
実運用時には、不要であれば削除しても問題ございません。
scheduleモジュールとの違いについて
最初はscheduleライブラリを利用して「16時になったら実行」といった動作を試みましたが、
このモジュールは**「毎日〇時に実行」など、定期実行には便利な一方で、単発の時刻指定にはやや不向き**でした。
まとめ:Pythonで時刻指定実行は意外と簡単
今回のように、datetimeとtimeモジュール、そして基本的なwhileとif文を組み合わせることで、
Pythonで指定した時刻に自動的に処理を開始するプログラムを簡単に構築できます。
私自身、動作確認を重視してprint()を多用しましたが、皆様の用途に応じて調整していただければと思います。
少しでも参考になりましたら幸いです。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
