今回はPythonの自動実行についてまとめます。
Python, 自動化って言葉をよく耳にするがどう活用できるものか…?
自動化プログラムってなんかスゴそうではあるものの、初心者には無理なのでは…?
pythonなどのプログラミングをかじりはじめると、興味が出てくる自動化の話。
これはどういうものなのか?そしてどうやれば簡単に出来るのか?
最近、ここもかじってみたところ、私のような初心者でもサクッと出来るものであったので備忘録としてまとめます。
Pythonでもっと効率化・自動化したい!という初心者の方の一助になれば幸いです(‘ω’)ノ
今回の論点整理
さて、今回ですがWindows標準で入っているタスクスケジューラを使い
「Pythonファイルを毎日、決まった時間に実行する」
ことを実現させます。
これが実現できることで、手持ちのWindows PCを夜中にスタンバイの状態で放置しておけば、寝ている間に勝手に必要な作業を毎日 PCが行ってくれるようになります。
特にスクレイピングの実行ファイルと組み合わせて使うと非常に有用で毎日のリサーチ作業が自動的に行えてかつ蓄積が出来ます。
そのため、今回は下記のポイント3点について述べていきます。
- タスクスケジューラとは
- バッチファイルを利用した.pyの実行
- Pythonファイルの定期実行
順に触れていきます。
Python自動実行のポイント
タスクスケジューラとは
まずタスクスケジューラとはWindowsで標準装備されている定時にファイルを実行させるソフトです。
これによって、各種ファイルを自動起動したりできるようになるので、寝ている間の深夜にプログラムを自動で走らせたり、実行のし忘れなどを防止できたりします。
Pythonファイルも例外なく、タスクスケジューラと組み合わせることで定時に自動実行する仕組が作れます。
Windowsユーザーなら誰でもすぐに使えるのはイイですね!
バッチファイルを利用した自動実行
そして合わせて押さえておきたいのがバッチファイルというものです。
これもWindow標準の機能で、.batというファイルを作成することでpythonファイルをダブルクリックで簡単に実行できることが出来ます
当然、.pyのファイルを実行することもできるのですが、後述するタスクスケジューラで思うような挙動にならないことがあったのでコチラをオススメします。
例えば同じファイルにある”test.py”を実行するファイルは以下の通りです。
rem --- 作業フォルダをバッチファイルのパスに設定 ---
cd /d %~dp0
rem --- プログラムの実行 ---
python %~dp0\test.py
これで、同フォルダに入っている、該当ファイルを実行できます。
死ぬほど簡単なコードであり、これはメモ帳にコピペして.batの拡張子で保存すればOKです。
具体的には以下のような形で保存をします。
上記の場合、デスクトップにscriptというフォルダを作成し、その中にtest.batとtest.pyを格納しています。
あとはtest.batをダブルクリックすればpythonファイルが実行されます。
尚、.batファイルを編集する場合は、右クリックをして編集を選べば、メモ帳での編集画面になります。
このバッチファイル(.batファイル)を利用してタスクスケジューラで定期実行をしていきます。
あまり見慣れないファイルだけど内容は初心者にも優しいレベルだね
Pythonファイルの定期実行
上記でバッチファイルを用意したらタスクスケジューラを使って定期実行する登録を行います。
順に触れていきます。
まずは「スタート」メニューから「タスクスケジューラ」で検索して実行
表示されたタスクスケジューラから「基本タスクの作成」を選択
「基本タスクの作成」に名前と説明を入力して「次へ」をクリック
「トリガー」から定期実行させる間隔を選択して「次へ」をクリック
実行する詳細な日時を選択して「次へ」をクリック
タスクの実行操作の種類を選択して「次へ」をクリック
上記で作成したバッチファイル(.batファイル)のあるパスを記載して「次へ」をクリック
(引数・開始オプションは空白で問題ないです)
これで最後に「完了」をクリックすればこれで完了です
これで実際に設定時間になれば作動をします。
ただ、実際にこれが本当に動くのかが気になると思います。
そのような場合はタスクスケジューラのトップに戻り、出来上がったファイルを右クリックして「実行をする」というボタンがあるのでそちらで検証できます。
実際に実行するを押して作動がすれば問題なく毎日実行ができるようになります。
今回は簡易ファイルでしたが以下のようなスクレイピングのファイルなどをセットすれば毎日web上からデータを引き抜くプログラムが出来ます。
一連の流れを一度作ってしまえば自力で拡張することは簡単です。
まとめ
今回ポイントしてまとめてきたのは以下の3点です。
- タスクスケジューラとは
▷windowsに標準装備されているファイルを自動実行するソフト - バッチファイルを利用した.pyの実行
▷.batファイルを作成し指定のファイルを簡単に実行する - Pythonファイルの定期実行
▷タスクスケジューラで時間とバッチファイルを指定して実行
上記を順に追っていけば、簡単に自動化のプログラムを作成することができます。
普段使っている一連の作業を自動的に行うことができると、ムダ時間を排除し、想像以上に楽になれてテンションが上がります。
そして、何と言っても素晴らしいのが、全て無料ソフトでできる!ということです。
余計なソフトの導入も不要で、拡張性の高いツールなので私のような非エンジニアでも押さえておくべき内容だと思います。
今後も自動化の波は続くと思うので、身近なところからデータを整理する習慣を共に作っていきましょう(‘ω’)ノ
ご精読頂きありがとうございました!
m(_ _)m
▼オススメ参考書▼