Pythonでファイルへの相対パスでインポートする方法は?
Pythonでは、ファイルをインポートするために相対パスを使用することができます。相対パスは、現在のスクリプトファイルのパスを基準としています。
`相対パス` でファイルをインポートするには、2つの方法があります。
- ディレクトリ相対パスを利用する:”./”はカレントディレクトリ、”…/”はひとつ階層上のディレクトリを表し、以降同様です。例えば、カレントスクリプトファイルがディレクトリAのときに、ディレクトリA内のファイルBをインポートするには以下の構文を利用します。
- from B import *
- ネイティブな日本語に言い換えると:__file__の使用:__file__は Python の組み込み変数で、現在のスクリプトファイルのパスを表します。os.path モジュールを使用して、パス関連の操作を処理できます。たとえば、現在のスクリプトファイルがディレクトリ A にあり、ディレクトリ A 内のファイル B をインポートしたい場合、次の構文を使用できます。
- import os.path
import syscurrent_dir = os.path.dirname(os.path.abspath(__file__))
parent_dir = os.path.dirname(current_dir)
sys.path.append(parent_dir)import B
相対パスのインポート方法としては、これら2つの方法が一般的なので、最適なものを選択してください。