macで複数のPythonファイルを1度にまとめて実行する方法を探していたところ、拡張子が.commandのファイルを作成すれば実現できることがわかったので、試してみました。
その結果、うまく実行できたのでメモしておきます。
やりたいことの内容の確認
1つ1つのPythonファイルを手動で実行するのは面倒臭いので、
- abc.py
- def.py
- ghi.py
- ・・・
といった複数のファイルを、まとめて実行することを目指します。
.commandファイルを作成して、Pythonファイルをまとめて実行する方法
.commandファイルの作成と、表示するファイルの作成
macのairport直下にある2つのファイル
- file1.py
- file2.py
をまとめて実行するとします。
構成はこんな感じ。
airport |--- file1.py |--- file2.py
まずは、macのテキストアプリを開いて、次のようなtsukiichi.commandを作成して、airport直下に保存します。(拡張子はcommandになります)
#!/bin/bash
python3 file1.py
python3 file2.py
python3 file1.py
python3 file2.py
file1.pyの中身は
print(‘file1’)
file2.pyの中身は
print(‘file2’)
にでもしておきましょう。
このままだと、tsukiichi.commandをダブルクリックをしても、
「ファイル“tsukiichi.command”は、適切なアクセス権限がないために実行できません。」
と表示され、実行できません。
tsukiichi.commandの実行権限を変更する(ターミナルから)
ターミナルで
- tsukiichi.command
- file1.py
- file2.py
がある階層(今回の場合はairport)へ行き、
chmod u+x tsukiichi.command
を実行します。
これで、tsukiichi.commandをダブルクリックすると、ファイルが実行されるようになります。
file1
file2
file2
と表示されているはずです。
実行したいファイルが別の階層にある場合もok
実行したいファイルが別々の階層にある場合でも実行はできます。
airport |---folder1 --- file1.py |---folder2 --- file2.py
▲上のような階層になっていて、file1.pyとfile2.pyを実行したい場合は、
#!/bin/bash
cd folder1
python3 file1.py
cd ../folder2
python3 file2.py
cd folder1
python3 file1.py
cd ../folder2
python3 file2.py
▲tsukiichi.commandには、上のように記述すれば実行できます。
毎日実行したいファイルや毎月実行したいファイルは、.commandによってまとめて実行すると楽です。
参考リンク
コメント