Python3で別のパスにあるファイルをインポートする方法

Pythonで別のパスにあるファイルをインポートする方法について説明します。 同一経路、下位経路、上位経路など、ケース別にインポートする方法について紹介します。

1. 同じパスファイル

実行ファイル(main.py)と同じパスにあるpythonファイルは、現在のパスを意味する .を使用してインポートできます。

# main.py
from . import my_module
$ tree
.
├── my_module.py
└── main.py

2. サブパスファイル

サブパスのファイルは from 하위 폴더 のようにフォルダを指定してインポートできます。

# main.py
from subdir import my_module
$ tree
.
├── subdir
│   └── my_module.py
└── main.py

3. 親パスファイル

親フォルダを参照するときは、 fromに親パスを入力してインポートすることはできません。絶対パスに親パスのパスを追加する必要があります。これにより、追加された親フォルダパスで比較的ファイルを参照できます。

実行ファイルパスの親パスを取得するコードは os.path.dirname(os.path.abspath(os.path.dirname(__file__))) です。 このパスを sys.path.append として絶対パスに追加できます。

# main.py
import sys
sys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))

from . import library
$ tree
.
├── main
│   └── main.py
└── library.py

4. 異なるパスのファイル

別のパスのファイルをインポートするには、 sys.path.appendに別のパスのパスを入れてください。

# main.py
import sys
sys.path.append(다른 경로의 파일)

from . import library

Related Posts

codechachaCopyright ©2019 codechacha