「毎日同じ処理を手動で実行するのが面倒…」と感じたことはありませんか?Pythonを使えば、データ処理やバックアップ、ファイル整理などを定期的に自動実行できます。本記事では、初心者でも簡単に理解できるPythonの定期実行タスクの作り方を詳しく解説します。
Pythonで定期実行タスクを作るメリット
まずは、なぜ定期実行タスクをPythonで作るのが便利なのかを確認しましょう。
- 作業の自動化: 毎日の繰り返し作業を自動化できます。
- ヒューマンエラー防止: 手動のミスを減らせます。
- 効率化: 夜間や休憩時間に処理を走らせることも可能です。
- 汎用性: OSやクラウド環境でも活用できます。
このように、定期実行は生産性を大きく高める方法の一つです。
基本的な考え方
Pythonだけでタスクを無限ループさせる方法もありますが、現実的にはOSのスケジューラ機能と組み合わせるのが一般的です。Windowsでは「タスクスケジューラ」、MacやLinuxでは「cron」を使うのが定番です。Pythonスクリプト自体は単純に実行可能な形にしておき、それをOS側で定期的に呼び出すのがベストプラクティスです。
Pythonだけでシンプルに定期実行する方法
まずはPython単体で時間を指定して処理を繰り返す簡単なサンプルを見てみましょう。
import time
def task():
print("処理を実行しました!")
while True:
task()
time.sleep(60) # 60秒ごとに実行
この方法は学習や短期的な処理には便利ですが、PCを閉じると止まってしまうため、本格運用には不向きです。
WindowsでPythonを定期実行する方法
タスクスケジューラの使い方
Windows環境では「タスクスケジューラ」を使ってPythonスクリプトを自動実行できます。
- 「タスクスケジューラ」を起動
- 「基本タスクの作成」を選択
- 実行する間隔(毎日・毎週など)を設定
- 「プログラムの開始」で
python.exe
を選択し、スクリプトのパスを指定 - 保存して完了
これで指定した時間に自動でスクリプトが実行されるようになります。
Mac/LinuxでPythonを定期実行する方法
cronの設定
MacやLinuxではcronを使います。以下の手順で設定できます。
crontab -e
編集画面に以下のように記述します。
0 9 * * * /usr/bin/python3 /home/user/script.py
この例では、毎朝9時に指定のPythonスクリプトが実行されます。cronは柔軟に時間指定ができるため、サーバーや業務環境で広く利用されています。
応用テクニック
ログを残す
自動実行は「本当に動いたのか?」が分かりにくいことがあります。そのため、ログを残す工夫を加えると便利です。
import datetime
with open("log.txt", "a", encoding="utf-8") as f:
f.write(f"{datetime.datetime.now()} - タスクを実行しました\n")
これで実行履歴を確認できるようになります。
複数タスクをまとめる
1つのスクリプト内で複数の処理を順番に実行することも可能です。たとえば、データ取得 → 整理 → 保存といった流れを自動化すれば、業務の効率化が一気に進みます。
よくあるエラーと注意点
- パスの指定ミス: フルパスで記述するようにしましょう。
- 権限不足: サーバー環境では実行権限を付与する必要があります。
- 環境依存: WindowsとLinuxでパスの書き方が違うので注意が必要です。
また、エラーが出ても気づけるように通知機能やログ出力を組み合わせると安心です。
さらに効率化する方法
もしサーバーを利用するなら、シェルスクリプトやDockerと組み合わせてタスクを管理するとさらに便利です。また、クラウド環境(Google Cloud FunctionsやAWS Lambdaなど)を使えば、ローカル環境に依存せずにタスクを走らせることもできます。
プログラミング初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富な講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験や知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
Pythonで定期実行タスクを作る方法は、手軽に作業を自動化できる強力な手段です。OSのスケジューラと組み合わせることで安定運用が可能になり、業務効率化や学習の効率も大幅にアップします。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

参考リンク: timeモジュール公式ドキュメント, Crontab Guru
コメント