tl;dr
Pythonのソースコードのディレクトリの下に__init__.py
というファイルがあります。
このファイルの役割をまとめます。
用意するもの・環境
- macOS Mojave 10.14.6
- Python 3.7(ANACONDA3)
- PyCharm 2019.2
開発環境の構築は下記の記事を参考にしてください。
【これさえ読めばOK】MacでPythonを使って開発するための準備
https://qiita.com/ryoichiro001/items/35a232a430c41dd512fa
ディレクトリ(フォルダ)をパッケージとして利用できる
このようなディレクトリ構成があったとします。
.
├── README.md
├── inputs_files
│ └── urls.txt
├── main.py
├── outputs_files
│ └── out_csv.txt
└── scripts
├── __init__.py
└── file_utils.py
そうすると下記のようにして利用できます。
from scripts import file_utils
この場合、__init__.py
の中身は空(0KB)で構いません。
インポートした際に実行されるプログラムを実行
外部のプログラムからimportされた際に実行されるプログラムを書いておくことができます。
必ず動かす初期処理を記述しておくと便利です。
Python3.3以降では __init__.py
がなくてもフォルダをパッケージとして認識してくれる
ここまで書いておいてアレですが、Python3.3以降では、__init__.py
ファイルがなくてもパッケージとして利用できます。
Python公式ドキュメント
https://docs.python.org/ja/dev/whatsnew/3.3.html#pep-420-implicit-namespace-packages
こちらの情報、間違いです。
詳しくは下記を参照ください。
https://qiita.com/methane/items/ed1e5b74747f3ffe9324
参考URL
Python __init__.py
の機能について
https://www.kangetsu121.work/entry/2018/09/16/004008