【保存版】Pythonプログラムを自動実行!簡単設定で効率化

IT

Pythonでせっかく便利なプログラムを作ったのに、毎回手動で実行していませんか?
実は、Windowsの標準機能の簡単な設定で、Pythonプログラムを定期実行することができます。

この記事では、Pythonプログラムを自動で定期実行させる方法を、初心者の方にもわかりやすく解説しています。
初心者で何から始めていいかわからない方は、サンプルコードと画像付きで丁寧に手順を解説しているので、是非みていってください!!

Pythonプログラム自動実行の概要

本記事では、大きく3ステップでPythonプログラムを自動実行していきます。
それぞれのステップで何をしているのか?ここでは簡単に説明します。

  1. 実行用pyファイルの作成
    定期実行するための、Pythonの実行用プログラムを作成します。
    簡単なサンプルのPythonコードを用意してます。
  2. 実行用batファイルの作成
    準備したPythonプログラムを起動するためのbatファイルを作成します。
    batファイルを起動することで、Pythonファイルが実行されるようにします。
    batファイルを使用することで、Pythonファイルを複数並列で呼び出したり、順次に呼び出すことも可能です。
  3. タスクスケジューラの設定
    Windows標準機能のタスクスケジューラを設定し、準備したbatファイルを定期実行します。タスクスケジューラの基本的な設定方法を解説します。

※OSは、Windows11を前提として進めます。
※Macをご利用の場合、本記事手順では設定できない可能性がありますこと、ご了承ください。

実際に環境構築してみよう

それでは、ここから3ステップでPythonプログラムを自動実行していきます。

実行用pyファイルの作成

1-1.Jupyter Notebookを起動し、任意の階層で[New]>[Python3]の順にクリックします。

1-2.ファイルが作成されるので、ファイル名を任意の名前に変更します。(例 TestRun.ipynb)

1-3.以下のサンプルコードを貼り付けます。

import os
def create_text_file(file_path, content):
    """
    指定されたパスにテキストファイルを作成し、内容を書き込みます。
    必要なディレクトリが存在しない場合は自動的に作成します。

    Args:
        file_path (str): 作成するファイルのパス (例: 'dir1/dir2/file.txt')
        content (str): ファイルに書き込む内容
    """
    # ファイルの親ディレクトリが存在しない場合は作成
    os.makedirs(os.path.dirname(file_path), exist_ok=True)
    # ファイルを開いて書き込み
    with open(file_path, 'w', encoding='utf-8') as f:
        f.write(content)
# 使用例
file_path = 'D:\\cmd\\Python\\sample.txt'
content = 'これはサンプルテキストです。'
create_text_file(file_path, content)
補足

コードの17行目は、サンプルテキストファイルを出力するフォルダ階層を指定します。
例のまま使用する場合、Dドライブの割り当てを必ずしてください。
また、フォルダパスは「\(バックスペース)」を二重にして記載してください。
※「\」を階層として記載する場合は、二重でエスケープ処理する必要があります。

# 誤(エスケープ処理なし)
file_path = 'D:\cmd\Python\sample.txt'
# 正(エスケープ処理あり)
file_path = 'D:\\cmd\\Python\\sample.txt'

1-4.試しにサンプルコードを実行してみます。コード入力欄にカーソルを合わせて、[Shift]と[Enter]キーを同時に押下します。

下画像のように、指定した階層に「sample.txt」が出力されれば、コマンドの処理完了です。(例では、「D:\cmd\Python」配下にsample.txtが作成されます。)
コマンドが動いたことを確認できたら、「sample.txt」を削除しておきます。

1-5.作成したサンプルコードをpyファイルに出力します。画面上部の[File]>[Save and Export Notebook As]>[Executable Script]の順にクリックします。

pyファイルがダウンロードされるので、任意の階層へ移動します。
例では、「D:\cmd\Python」直下の階層に移動しました。

実行用batファイルの作成

2-1.作成したpyファイルを起動するためのbatファイルを作成します。
任意のテキストエディタ(メモ帳など)を開き、以下のコードを貼り付けます。

@echo off

rem ファイルのパス
set filepath1="D:\cmd\Python\TestRun.py"

rem Pythonのパス
set pythonpath="C:\Users\User\AppData\Local\Programs\Python\Python312\python.exe"

rem Pythonの実行
%pythonpath% %filepath1%

rem コマンド終了
exit

2-2.サンプルコードの4行目(set filepath1=以降)を編集します。

set filepath1="D:\cmd\Python\TestRun.py"

前章で作成したpyファイルの格納先パスを指定します。
例では、”D:\cmd\Python\TestRun.py”に格納してます。
※ここでは、エスケープ処理不要です。(\を二重にしない。)

2-3.サンプルコードの7行目(set pythonpath=以降)を編集します。
※ここでは、エスケープ処理不要です。(\を二重にしない。)

set pythonpath="C:\Users\User\AppData\Local\Programs\Python\Python312\python.exe"
補足

Pythonのインストール先のパスを指定します。
Pythonのインストール先を探すには、デスクトップ画面から[コマンドプロンプト]を起動し、ターミナル画面に以下のコマンドを入力して、[Enter]キーを押下します。

where python

以下、赤枠がPythonのインストール先のパスです。

2-4.テキストファイルを任意の階層に保存し、拡張子を[bat]に変更します。
例では、「D:\cmd\Python」直下の階層に「TestRun.bat」というファイル名で保存しました。

2-5.batファイルが動くか試してみます。作成したbatファイル(例 TestRun.bat)をダブルクリックします。

下画像のように、指定した階層に「sample.txt」が出力されれば、コマンドの処理完了です。(例では、「D:\cmd\Python」配下にsample.txtが作成されます。)
コマンドが動いたことを確認できたら、「sample.txt」を削除しておきます。

タスクスケジューラの設定

3-1.デスクトップ画面下の[ウィンドウ]アイコンをクリックし、[タスクスケジューラ]と検索して表示される「タスクスケジューラ」の[開く]をクリックします。
※以降「タスクスケジューラを開く」と記載した場合は、この手順を実施してください。

3-2.タスクスケジューラ画面の左メニューの[タスクスケジューラライブラリ]を選択し、画面の右メニューの[新しいフォルダー…]をクリックします。

任意のフォルダ名を入力し、[OK]をクリックします。

デフォルトで用意されているシステムタスクが存在してます。
新しく追加するタスクは、明示的にフォルダ階層を分けて管理することをおすすめします。
以降、自分でタスク設定を追加する場合は、作成したフォルダ配下に追加しましょう。

3-3.画面左メニューの先ほど作成したフォルダを選択し、画面右メニューの[タスクの作成…]をクリックします。

3-4.プロパティ画面の「全般」タブを開き、以下の値を参考に設定値を入力します。

3-5.プロパティ画面の「トリガー」タブを開き、[新規]をクリックします。

以下の値を参考に設定値を入力し、[OK]をクリックします。
下画像の赤枠内ラジオボタンで、定期実行の間隔を設定することができます。(例では、毎日14:59:00にタスクが起動するように設定してます。)

3-6.プロパティ画面の「操作」タブを開き、[新規]をクリックします。

以下の値を参考に設定値を入力し、[OK]をクリックします。

  • [プログラム/スクリプト]:実行用batファイルの格納先パス(ファイル名含む)を指定
  • [開始(オプション)]:実行用batファイルの格納先パス(ファイル名除く)を指定

3-7.プロパティ画面の「条件」タブを開き、以下の値を参考に設定値を入力します。

3-8.プロパティ画面の「設定」タブを開き、以下の値を参考に設定値を入力し、[OK]をクリックします。

タスクを実行するユーザーの認証画面が表示されるので、[ユーザー名][パスワード]を入力し、[OK]をクリックします。

3-9.タスクが新しく追加されます。この時点では、[タスクはまだ実行されていません…]と表示されています。予定時刻にタスクが実行されることを確認しましょう。(予定時刻まで待つ)

3-10.予定時刻になったら、[F5]キーを押下して画面を更新しましょう。[この操作を正しく終了しました…]と表示されていれば、成功です。

下画像のように、指定した階層に「sample.txt」が出力されてます。(例では、「D:\cmd\Python」配下にsample.txtが作成されます。)

3-11.結果が確認できたら、タスクは不要のため、無効化しましょう。作成したタスクの行を選択後、右クリック>[無効]の順にクリックします。
※不要なタスクは無効化をおすすめします。有効のまま残すと、毎日処理が起動してしまいます。

Kazu
Kazu

おつかれさまでした!以上でPython自動実行の設定がすべて完了しました。
Pythonでつくったプログラムを自動起動できると、可能性の幅が広がりますね!!是非、いろいろプログラムを仕込んでみてください。当ブログでは、ITに関わるTipsやガジェットのレビュー、資格受験記などを掲載してます。他にご興味のある記事がありましたら、ご一読いただけますと幸いです!

コメント

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