fromとimportのパスの位置がわからん
Pythonのfromとimport文を使ってモジュールをインポートする方法について、以下で説明します。
例えば、次のようなディレクトリ構造があるとします:
markdown
my_project/ ├── my_package/ │ ├── __init__.py │ ├── module1.py │ └── module2.py └── my_script.py
my_projectはプロジェクトのルートディレクトリです。my_packageはPythonパッケージで、__init__.pyファイルを含むディレクトリです。module1.pyとmodule2.pyはPythonモジュールです。my_script.pyはPythonスクリプトです。
この場合、my_script.pyからmodule1.pyやmodule2.pyをインポートする方法は次の通りです:
module1.pyをインポートする場合:
python
from my_package import module1
module2.pyをインポートする場合:
python
from my_package import module2
これらのインポート文は、my_script.pyがmy_projectの直下にある場合に有効です。もしmy_script.pyが別のディレクトリにある場合は、それに応じてパスを調整する必要があります。
たとえば、my_script.pyがmy_projectの直下にある場合:
markdown
my_project/ ├── my_package/ │ ├── __init__.py │ ├── module1.py │ └── module2.py └── my_script.py
my_script.pyからmodule1.pyをインポートする場合:
python
from my_package import module1
もしmy_script.pyがmy_projectの直下ではなく、別のディレクトリにある場合:
markdown
my_project/ ├── my_package/ │ ├── __init__.py │ ├── module1.py │ └── module2.py └── some_directory/ └── my_script.py
my_script.pyからmodule1.pyをインポートする場合:
python
from my_package import module1
また、Pythonの標準ライブラリやサードパーティのライブラリをインポートする場合は、それぞれのライブラリの名前を指定します。たとえば、import csvやfrom django.core.management.base import BaseCommandなどです。

ディスカッション
コメント一覧
まだ、コメントがありません