Pythonで他のファイルをインポートする方法:ディレクトリが同階層の場合と違う階層の場合

どうも~むるむるです~

この記事では自分で書いた他のPythonファイルをモジュールとしてインポートする方法について書いていきます.

モジュールのインポート全般について知りたい方はこちらの記事を,IPython Notebookをインポートする方法を知りたい方はこちらをご覧ください.

今,ディレクトリが以下のようになっていて,「main.py」にて「test.py」,「test2.py」,「test3.py」をインポートしたいとしましょう.

今いるディレクトリ
┣ test_dir/
 └ test2.py
main.py
┣test.py

別のディレクトリ
┣test3.py

同階層のファイルをインポート

同じディレクトリにインポートしたいPythonファイル(.py)がある場合

import   ファイル名から.pyを除いたもの

とするだけです.

以下では同じディレクトリに入っている「test.py」というファイルをモジュールとしてインポートしています.

# 同階層からのインポート
import test
test.hello()
'''
出力結果:
同じ階層からこんにちは
'''
# test.pyの中身
def hello():
    print('同じ階層からこんにちは')


同階層のディレクトリの中のファイルをインポート

同階層のディレクトリの中のファイルをインポートするには以下のようにすればできます.

from   ディレクトリ名   import   ファイル名から.pyを除いたもの

以下の例では下の階層にある「test2.py」というファイルをモジュールとしてインポートしています.

# 同階層にあるディレクトリからのインポート
from test_dir import test2
test2.hello2()
'''
出力結果:
下の階層からこんにちは
'''
# test2.pyの中身
def hello():
    print('同じ階層からこんにちは')

別のディレクトリからファイルをインポート

別のディレクトリからファイルをインポートしたいときはPythonの標準ライブラリに含まれているsysモジュールを使ってpathを追加してあげればOKです.

以下では別のディレクトリにある「test3.py」というファイルをモジュールとしてインポートしています.「path_to_your_file」にはディレクリのパスをいれてください.

# 別のディレクトリにあるファイルをインポート
import sys
sys.path.append(path_to_your_file)
import test3
test3.hello3()
'''
出力結果:
別のディレクトリからこんにちは
'''
# test3.pyの中身
def hello3():
    print('別のディレクトリからこんにちは')

機械学習のためにしっかりとPythonを勉強したいなら,ある程度の基礎を身に着けた後に下の本を読むのがお勧めです.この本をこなせば,より高いレベルへ到達できるでしょう.

必ずしも必要ではありませんが,独学がどうしても苦手で,いつもどこかで詰まってしまったり,勉強が続かない方はプログラミングスクールへ登録して,わからないことがあったらすぐに人に質問をできる環境で勉強するという手もあります.

Tech Academyは時間がない方でもオンラインで完結する受講携帯で質問もできます.

手っ取り早く短期間で集中してPythonを勉強したい方はプログラミングスクールも考えてみてはいかがでしょうか.

最新情報をチェックしよう!