Python

PythonからPythonファイルを読み込み使用する

More than 1 year has passed since last update.

はじめに

最近、Pythonとscikit-learnで仕事をしている五石凪です。個人的にはPythonよりもRubyファンですが、今回紹介するものはPythonの仕様の中でも気に入っているものです。

import

私のようなPython初心者は import はライブラリを読み込むもののイメージが強いです。ですが、importをしようすれば他のファイルに書かれたクラスやメソッドを読み込むことが可能です。

読み込みたいファイルが同じディレクトリにある場合

helper.py
class Helper:
  def some_help():
    # 助けになるようなアルゴリズム
app.py
from helper import Helper

Helper().some_help()

読み込みたいファイルが違うディレクトリにある場合

Project
- helpers
  - helper.py
- app.py

のような場合

app.py
from helpers.helper import Helper

または

app.py
from helpers import helper
from helper import Helper

読み込みたいファイルが他のファイルを読み込みたい場合

Project
- helpers
  - base_helper.py 
  - helper.py
- app.py

のような構造で、helper.pybase_helper.pyBaseHelperクラスを使用したい場合

helper.py
from helpers.base_helper import BaseHelper
# from helpers import base_helper
# from base_helper import BaseHelper
# は何故だかわからないけどできなかった。わかる方教えて欲しい。
app.py
from helpers.helper import Helper