Pythonでは、__main__.py
という特別なファイルが存在します。このファイルはPythonパッケージをスクリプトとして実行する際に重要な役割を果たします。
main.pyとは何か?
__main__.py
は、Pythonパッケージを実行したときに呼び出される特別なファイルです。つまり、「python -m パッケージ名」を実行するとそのパッケージの__main__.py
が呼ばれるということです。これをパッケージのエントリーポイントと言います。
main.pyの使い方
以下に、__main__.py
の基本的な使い方を示します。
# __main__.py
def main():
print("ここから始まるよ!!")
if __name__ == "__main__":
main()
上記のif __name__ == "__main__":
というコードは、このモジュールがトップレベルのスクリプト環境で実行されている場合にのみ、main()
関数を実行します。
main.pyから他のモジュールを呼び出す
__main__.py
から他のモジュールを呼び出すには、以下のようにします。
# __main__.py
import subprocess
import os
from pathlib import Path
def main():
current_directory = Path(__file__).resolve().parent
module_example_path = os.path.join(current_directory, "module_example.py")
subprocess.run(["python", module_example_path], check=True)
if __name__ == "__main__":
main()
このコードでは、Path(__file__).resolve().parent
で現在のスクリプトのディレクトリパスを取得し、os.path.join()
を使ってmodule_example.py
のフルパスを構築しています。そして、subprocess.run()
を使用してmodule_example.py
を実行しています。
以上が、Pythonの__main__.py
についての基本的な説明です。この知識を持っておくと、Pythonパッケージの作成や利用がより理解しやすくなります。