HOME > python > examples

Python3에서 다른 경로에 있는 파일을 import 하는 방법

JSFollow27 Jan 2019

파이썬에서 다른 경로에 있는 파일을 import하는 방법을 설명합니다. 동일경로, 하위경로, 상위경로 등 케이스 별로 import하는 방법에 대해서 소개합니다.

동일 경로 파일

실행파일(main.py)과 동일한 경로에 있는 python 파일들은 현재 경로를 의미하는 .를 사용하여 import할 수 있습니다.

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

하위 경로 파일

하위 경로의 파일은 from 하위 폴더 처럼 폴더를 지정해주어 import할 수 있습니다.

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

상위 경로 파일

상위 폴더를 참조할 때는 from에 상위 경로를 입력해서 import할 수 없고, 절대경로 path에 상위 경로에 대한 path를 추가해줘야 합니다. 그러면 추가된 상위폴더 경로에서 상대적으로 파일들을 참조할 수 있습니다.

실행파일 경로의 상위 경로를 구하는 코드는 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

다른 경로의 파일

다른 경로의 파일을 import하려면 sys.path.append에 다른 경로의 path를 넣어주면 됩니다.

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

from . import library