Python で別ディレクトリのコードをインポートする

結論 sys.path.append() を使う

例えばソースコード内で

 

gistcfd10e3bf8661183fdee

 

と記述すると、それ以降の import では親ディレクトリにあるライブラリやソースコードをインポート出来るようになる。

 

 

 

もう少し詳しい説明は以下で

1. Python のインポートについて

2. 同ディレクトリ上の自分で実装したライブラリをインポートする

3. 別ディレクトリ上の自分で実装したライブラリをインポートする

の順番で説明していきます。

 

 

1. Python のインポートについて

他のプログラミング言語と同様に、 Python でもライブラリをインポートすることで様々な処理を行うことができるようになります。
特に Python では、他の言語に比べて機械学習のライブラリが充実しています。

実際には以下のようにインポートを行います。

 

gistd18a900090994210b49f

 

 

2. 同ディレクトリ上の自分で実装したライブラリをインポートする

Python では自分で実装したライブラリも簡単にインポートできます。
test.py から同ディレクトリにあるTestlib.py をインポートするには次のようにします。

 

import example of Python

 

同ディレクトリにある場合は、 from [libname] import * と記述するのが手軽です。
メソッド名やクラス名がかぶらない場合は問題ありません。

 

 

3. 別ディレクトリ上の自分で実装したライブラリをインポートする

Python で import を記述した場合、ライブラリを探すディレクトリが決まっています。
標準ライブラリが保存されているディレクトリ
インストールされたライブラリが保存されているディレクトリ
同ディレクトリ
などです。

自分が実装したライブラリを探してほしいときは、パスを追加することが出来ます。
例えば一つ親のディレクトリに Testlib.py があるときは以下のようにします。

 

import example of Python 2

 

sys.path.append('../') とすることで、親ディレクトリにもライブラリがないか調べるようにしています。
絶対パスも指定できるので、どこにライブラリがあってもインポートできます。