ホームページ >バックエンド開発 >Python チュートリアル >Python でネストされたフォルダーからモジュールをインポートするにはどうすればよいですか?
ネストされたフォルダーからのモジュールのインポート
プロジェクト内の異なるフォルダーからファイルをインポートすることは、Python では困難な場合があります。シナリオとその解決策を見てみましょう。
質問:
次のフォルダー構造を考えてみましょう:
application ├── app │ └── folder │ └── file.py └── app2 └── some_folder └── some_file.py
という名前の関数をインポートするにはどうすればよいですか? file.py からの func_name へsome_file.py?
答え:
from application.app.folder.file import func_name を使用する一般的なアプローチは機能しません。これは、Python のデフォルトのインポート検索パスにサブディレクトリが含まれていないためです。
解決策:
この制限を回避するには、以下を追加することで実行時に Python 検索パスを変更できます。モジュールをインポートする前に、必要なディレクトリを sys.path に追加します。以下は some_file.py の例です:
import sys # Caution: path[0] is reserved for the script path or '' in REPL sys.path.insert(1, '/path/to/application/app/folder') import file
これにより、インポートされたモジュールから次のように関数にアクセスできるようになります:
file.func_name()
注:
このアプローチは、非常に特殊なシナリオを対象としています。通常、コードをパッケージに構造化することは、モジュール性と保守性を考慮するとより好ましいソリューションです。
以上がPython でネストされたフォルダーからモジュールをインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。