どうもイトサル(@itosaru)です。

作ったPythonプログラムを定期実行したいです
どのようにすればいいでしょうか?
せっかくいいプログラムを組んでも手動で実行しなければいけないと面倒ですよね。
そこでこの記事ではWindowsに標準で搭載されている「タスクスケジューラ」を使ってPythonのプログラムを定期実行する方法についてお伝えします。
タスクスケジューラとは定期実行ツールのこと
そもそもタスクスケジューラってなに?と疑問に思う方もいると思うので簡単に説明します。
タスクスケジューラとはWindowsに標準で搭載されている定期実行ツールのことです。
実行する頻度(毎日・毎週など)と間隔(1時間・3時間など)をタスクとして登録することで定期的に処理を実行することができるという優れもの。
タスクの登録は一度するだけで半永久的に処理を実行することができます。

PCが正常に動いていて使える状態であればという条件付きです
タスクスケジューラ登録事前準備
タスク登録前に事前準備として2点やっておきましょう。
どちらもタスクスケジューラを使う上で必要な作業です。
Pythonをインストールした場所を控える
1.windowsのスタートボタン右にある検索ボックスで「cmd」と入力します。
検索結果に表示された「コマンドプロンプト」をクリックします。

2.表示された画面に「where python」と入力してEnterキーを押します。

3.すると何やら文字列が表示されます。

ここで「where Python」ついて簡単に説明すると、Pythonをインストールしている場所がどこ?というのをPCに聞くコマンドです。

windows10だと標準でインストールされていることがあります。
なので自分でインストールすると複数行出てきます。
4.この文字列をコピーします。表示された結果文字列を1行すべて選択し、右クリックすれば完了です。

ここでコピーした文字列はメモ帳などに控えておきましょう。
実行したいPythonプログラムの場所とファイル名を控える
タスクスケジューラで実行したいプログラムの場所、名前を合わせて控えておきましょう。
該当プログラムを右クリックし、「プロパティ」を選択します。

表示されたプロパティ画面の場所とファイル名を先ほどのメモ帳等に控えておきましょう。
Pythonのプログラムをタスク登録する
お待たせしました!タスク登録の手順はこちらです。
なお、この手順は毎日1時間おきにpythonプログラムを起動するタスクとして登録します。
pythonプログラムは「TEST」を表示するシンプルなものです。
1.windowsの検索機能で「タスクスケジューラ」を検索、起動します。

2.[タスクの作成]をクリックします。

3.タスクの作成画面が表示されます。タスクの名前を入力して[OK]をクリックします。

4.トリガータブが表示されます。[新規]をクリックします。

5.タスクを実行する頻度などを設定する画面が表示されます。
設定項目で[毎日]そして詳細設定の繰り返し間隔で[1時間]を選択して[OK]をクリックします。

6.トリガーに設定した内容が表示されます。続いて[操作]タブをクリックします。

7.[新規]をクリックします。

8.新しい操作画面が表示されます。事前準備で控えた3つをそれぞれ入力していきます。
項目名 | 入力するもの |
---|---|
プログラムスクリプト | cmdでコピーしたPythonインストール場所 |
引数の追加(オプション) | Pythonプログラムのファイル名(.pyまで含める) |
開始(オプション) | Pythonプログラムの配置場所(プログラム名は除く) |

それぞれ入力したら[OK]をクリックします。
10.前の画面で入力したものが表示されます。[OK]をクリックすれば登録完了です。

タスク登録が完了したらメイン画面に登録したタスクが表示されています。
タスクをテスト実行する
「登録したけど本当にちゃんと動くか不安…」という場合は手動で実行してみましょう。
画面右に表示されている[実行]をクリックすることで登録したタスクを実行できます。

ここで用意したプログラムが実行されればタスク登録は正しく設定できています。
逆に異常終了した場合は何かしらの設定が間違っているので見直しましょう。
タスクを停止する
「タスク登録したけどもうやらなくていいや!」となった場合にはタスクを停止しましょう。
タスクを停止するには画面右にある[無効化]をクリックします。

ボタンが有効化に変わり、状態が無効と変更されたら停止完了です。

やっておいた方がいいこと:端末の再起動のタスク登録
Pythonのプログラムをタスク登録すれば指定された時間に繰り返し実行することはできます。
ただパソコンは常時電源がついた状態だと不具合を起こすものです。

なんか動作が重いとか通信状態が悪いとか出てきますよね
そこでプログラムの定期実行と合わせて端末の再起動タスクを登録することをお勧めします。
また、再起動だけしてもログインしていない状態だとプログラムがうまく動かないことがあるので自動ログイン処理も加える必要があります。
端末の再起動タスク登録手順はApricoさんに詳細が載っていたのでこちらをご覧ください。

まとめ
この記事ではPythonプログラムを定期実行する方法について説明しました。
あたらめて今回の内容について振り返ります。
- windowsに標準搭載されている「タスクスケジューラ」を使う
- Pythonのインストール先、プログラムの配置場所、名前を控えておく
- タスクスケジューラに実行間隔を設定し控えていたものをそれぞれ入力する
- 安定稼働のために端末の定期再起動もタスク登録しておく
プログラムを定期実行することでルーティン作業から解放されます。
タスクスケジューラをうまく使ってラクしていきましょう!
Pythonの勉強におすすめな本
Pythonについて勉強したい!という方は
Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ
の本がおすすめです。
前ページがカラー印刷で、かわいらしいどうぶつ2人の会話形式で読みやすいです。
内容はPythonの特徴からはじまり、プログラミングの方法、そして簡単な人工知能を作るまでを解説してくれます。
またこの本の続編である、「Python2年生」も発売されているので合わせてどうぞ!
- Python2年生 データ分析のしくみ 体験してわかる!会話でまなべる!
- Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!
コメント