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を勉強したいなら,ある程度の基礎を身に着けた後に下の本を読むのがお勧めです.この本をこなせば,より高いレベルへ到達できるでしょう.

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