親ディレクトリからのモジュールインポート方法
Python
では、別のディレクトリにあるモジュールをインポートする場合、sys.path
の操作や相対インポートを使うことが一般的です。これらの方法を使うことで、親ディレクトリにあるモジュールを正しくインポートできます。
sys.path
を使ったインポート
sys.path
は、Python
がモジュールを検索するパスのリストです。通常、スクリプトが実行されるディレクトリが最初に含まれますが、これを手動で変更して親ディレクトリを追加することができます。
使用例
import sys
import os
sys.path.insert(0, os.path.abspath('..')) # 親ディレクトリを追加
import 親ディレクトリのモジュール
この方法は柔軟ですが、プロジェクトが大規模になるとインポートパスの管理が複雑になることがあります。
相対インポート
パッケージ構成がある場合、相対インポートを使用してモジュールをインポートできます。相対インポートは、スクリプトが属するパッケージ構造内でのモジュール管理に最適です。
使用例
from .. import nib # 親ディレクトリからnibモジュールをインポート
相対インポートはPython
2.5以降でサポートされていますが、__init__.py
がパッケージ内に含まれている必要があります。
結論
親ディレクトリからのモジュールインポートは、sys.path
を使った柔軟な方法と、パッケージ内で使用する相対インポートの2つがあります。プロジェクトの規模や構造に応じて適切な方法を選ぶことが重要です。